puppeteer介绍
Puppeteer是一个用户界面自动化工具。它通过使用Chrome无界面模式和DevTools协议的组合来实现这一点。正如上面的引用所言,它使用一个更上层的API来封装其功能,让用户界面测试自动化变得轻而易举。
它能做什么?
- 生成网页截图或者 PDF
- 高级爬虫,可以爬取大量异步渲染内容的网页
- 模拟键盘输入、表单自动提交、登录网页等,实现 UI 自动化测试
- 捕获站点的时间线,以便追踪你的网站,帮助分析网站性能问题
API
API 地址 https://github.com/GoogleChrome/puppeteer/blob/v1.4.0/docs/api.md
实例
截图
首先实现一个简单的百度首页截图功能:123456789101112131415const puppeteer = require('puppeteer');(async () => { // 打开浏览器 const browser = await puppeteer.launch(); // 打开页面 const page = await browser.newPage(); // 跳转页面 await page.goto("https://www.baidu.com/"); // 截图 await page.screenshot({ path: "baidu.png" }); // 关闭浏览器 await browser.close();})();
生成pdf
|
|
爬取页面
以我的博客首页https://aromameng.github.io/为例,爬取每篇博客的标题。
这个功能可以用于爬取api数据
|
|
更多功能还在学习中。。。
参考
- github项目地址 https://github.com/GoogleChrome/puppeteer
- Puppeteer 入门教程 http://www.r9it.com/20171106/puppeteer.html