示例与使用场景
官方示例
Puppeteer 仓库包含少量由 Puppeteer 团队维护的示例。
按照 README 中的说明运行这些示例,涵盖从网站创建 PDF、创建截图或拦截请求等使用场景。
示例套件
在 Puppeteer 专门的示例仓库中查找一组非结构化示例。
该套件是随着时间推移不断增长的示例集合,涵盖各种使用场景,例如将事件 从你的 Puppeteer 进程转发到浏览器、与元素交互以及运行 CDP 命令。
其他项目、文章和演示
查看以下列表,了解渲染、网页抓取和测试等类别中的使用场景和示例。
渲染与网页抓取
- Puppetron:演示网站,展示 如何使用 Puppeteer 和无头 Chrome 渲染页面。灵感来自 GoogleChrome/rendertron。
- Thal: 开始使用 Puppeteer 和 Chrome 无头模式进行网页抓取。
- pupperender:Express 中间件,检查传入请求的 User-Agent 请求头,如果 它与一组可配置的爬虫之一匹配,则使用 Puppeteer 渲染页面。 适用于 PWA 渲染。
- headless-chrome-crawler: 提供 API 来操作无头 Chrome 并让你抓取 动态网站的爬虫。
- 来自 Checkly 的 Puppeteer 示例: 面向真实使用场景的 E2E Puppeteer 示例,例如从网页中获取 有用信息或常见的登录场景。
- browserless:将无头 Chrome 作为服务,让你远程执行 Puppeteer 脚本。
- AWS Lambda 上的 Puppeteer: 使用 Serverless 框架在 AWS Lambda 上运行 Puppeteer
- Apify SDK:面向 JavaScript 的可扩展 网页爬取和抓取库。自动管理一组 Puppeteer 浏览器,并提供错误处理、任务管理、代理 轮换等功能。
测试
- angular-puppeteer-demo: 演示仓库,说明如何在 Karma 中使用 Puppeteer。
- mocha-headless-chrome: 通过无头 Chrome 在命令行中运行客户端 mocha 测试 的工具。
- puppeteer-to-istanbul-example: 演示如何以 Istanbul 格式输出 Puppeteer 覆盖率的演示仓库。
- jest-puppeteer:(几乎) 零配置工具,用于设置和运行 Jest 与 Puppeteer。还 包含一个用于 Puppeteer 的断言库。
- puppeteer-har:使用 Puppeteer 生成 HAR 文件。
- puppetry:无需编码即可构建 Puppeteer 和 Jest 驱动测试的桌面应用。
- puppeteer-loadtest: 对 Puppeteer 脚本执行负载测试的命令行界面。
- cucumber-puppeteer-example: 演示如何使用 Puppeteer 和 Cucumber 进行 集成测试的示例仓库。