Puppeteer是一个node库,他提供了一组用来操纵Chrome的API,默认headless也就是无UI的chrome,也可以配置为有UI。 其实有点类似于PhantomJS,但Puppeteer是Chrome官方团队进行维护的,前景会更好。



Puppeteer 核心功能


  1. 利用网页生成PDF、图片
  2. 爬取SPA应用,并生成预渲染内容(即“SSR” 服务端渲染)
  3. 可以从网站抓取内容
  4. 自动化表单提交、UI测试、键盘输入等
  5. 帮你创建一个最新的自动化测试环境(chrome),可以直接在此运行测试用例
  6. 捕获站点的时间线,以便追踪你的网站,帮助分析网站性能问题


安装:



npm i -s puppeteer





报错提示:



UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to launch chrome!
/data/www-data/hupu.com/crawl_puppeteer/node_modules/puppeteer/.local-chromium/linux-515411/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory





需要安装 chrome 浏览器的依赖包



yum install google-chrome-stable





这里提示下 ,在Centos6.5下无法安装chrome 我当时捣鼓了很久也没搞好,最后把系统升级到 7.2 才安装上


如果还报错,可以定位错误 来安装具体的依赖包。