【puppeteer+Node.js】学习
总结了一下有关puppeteer的学习的网站,以后还会继续更新
puppeteer 介绍
Puppeteer是一个通过DevTools Protocol控制headless chromium的高级node库, 也可通过设置设置非headless Chromium.
Puppeteer有chrome官方团队进行维护, 相对于其他如PhantomJs, CasperJs 前景更好.
=============================================================================================
Puppeteer 是一个node库,他提供了一组用来操纵Chrome的API, 通俗来说就是一个 headless chrome浏览器 (当然你也可以配置成有UI的,默认是没有的)。既然是浏览器,那么我们手工可以在浏览器上做的事情 Puppeteer 都能胜任, 另外,Puppeteer 翻译成中文是”木偶”意思,所以听名字就知道,操纵起来很方便,你可以很方便的操纵她去实现:
如果你用过 PhantomJS 的话,你会发现她们有点类似,但Puppeteer是Chrome官方团队进行维护的,用俗话说就是”有娘家的人“,前景更好。
Puppeteer 适合干些什么事?
- 高级爬虫,可以爬取大量异步渲染内容的网页。爬取SPA应用,并生成预渲染内容(“SSR”服务端渲染)
- 帮助创建最新的自动化测试环境(chrome),可以直接运行测试用例,前端自动化测试(表单操作、事件模拟、键盘输入… 等),模拟键盘输入、表单自动提交、登录网页等,实现 UI 自动化测试
- 生成网页截图或者 PDF
- 捕获站点的时间线,以便追踪你的网站,帮助分析网站性能问题
- 从网站抓取内容
Chrome Headless环境要求
- Puppeteer要求node版本不低于v6.4.0,但是async/await只在Node v7.6.0或更高的版本支持。
- 需要最近版本的Chromium浏览器
官方API:https://github.com/GoogleChrome/puppeteer/blob/v0.13.0/docs/api.md
基础篇:
二、《使用puppeteer-autotest 来为cnodejs 做自动化测试.》附录:有相关网站案例
基础+进阶:
《无头浏览器 Puppeteer 初探》、《Puppeteer 初探》
进阶篇:
一、《Puppeteer初探--爬取并生成《ES6标准入门》PDF》
四、《Making a Master Puppeteer》(成为一个Puppeteer大师)