git clone https://github.com/GoogleChrome/puppeteer

cd puppeteer

 

$ npm install

> puppeteer@1.18.0-post install /home/mzh/github.com/GoogleChrome/puppeteer
> node install.js

Downloading Chromium r669486 - 347.1 Mb [====================] 100% 0.0s 
Chromium downloaded to /home/mzh/github.com/GoogleChrome/puppeteer/.local-chromium/linux-669486
ERROR: Failed to download Chromium r669486! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
Error: Failed to launch chrome!
/home/mzh/github.com/GoogleChrome/puppeteer/.local-chromium/linux-669486/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory


TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

    at onClose (/home/mzh/github.com/GoogleChrome/puppeteer/lib/Launcher.js:340:14)
    at Interface.helper.addEventListener (/home/mzh/github.com/GoogleChrome/puppeteer/lib/Launcher.js:329:50)
    at Interface.emit (events.js:203:15)
    at Interface.close (readline.js:397:8)
    at Socket.onend (readline.js:173:10)
    at Socket.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1129:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer@1.18.0-post install: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the puppeteer@1.18.0-post install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/mzh/.npm/_logs/2019-06-24T01_27_04_246Z-debug.log
 

解决措施:

sudo yum -y install libXScrnSaver-1.2.2-6.1.el7.x86_64

继续npm install

(node:28704) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
[0624/095308.093396:FATAL:zygote_host_impl_linux.cc(116)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
 

 

TODO: 

爬虫利器 Puppeteer 实战  https://www.jianshu.com/p/a9a55c03f768