Puppeteer是一个node库,他提供了一组用来操纵Chrome的API,默认headless也就是无UI的chrome,也可以配置为有UI。 其实有点类似于PhantomJS,但Puppeteer是Chrome官方团队进行维护的,前景会更好。
Puppeteer 核心功能
- 利用网页生成PDF、图片
- 爬取SPA应用,并生成预渲染内容(即“SSR” 服务端渲染)
- 可以从网站抓取内容
- 自动化表单提交、UI测试、键盘输入等
- 帮你创建一个最新的自动化测试环境(chrome),可以直接在此运行测试用例
- 捕获站点的时间线,以便追踪你的网站,帮助分析网站性能问题
安装:
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 才安装上
如果还报错,可以定位错误 来安装具体的依赖包。