示例 & 用例
官方示例
Puppeteer 存储库包含少量由 Puppeteer 团队维护的示例。
请按照 README 中的说明运行示例,这些示例涵盖了诸如从网站创建 PDF、创建屏幕截图或拦截请求之类的用例。
示例套件
在 Puppeteer 的专用示例存储库中查找一组非结构化的示例。
这个套件是随着时间推移而不断增长的示例集合,涵盖了各种用例,例如将来自 Puppeteer 进程的事件转发到浏览器、与元素交互以及运行 CDP 命令。
其他项目、文章和演示
请参阅以下列表,了解来自渲染、网页抓取和测试等类别的用例和示例。
渲染和网页抓取
- Puppetron: 演示站点,展示如何使用 Puppeteer 和 Headless Chrome 渲染页面。灵感来自 GoogleChrome/rendertron。
- Thal: 开始使用 Puppeteer 和 Chrome Headless 进行网页抓取。
- pupperender: Express 中间件,用于检查传入请求的 User-Agent 标头,如果它与一组可配置的机器人匹配,则使用 Puppeteer 渲染页面。对 PWA 渲染很有用。
- headless-chrome-crawler: 提供 API 来操作 Headless Chrome 并允许您抓取动态网站的爬虫。
- 来自 Checkly 的 Puppeteer 示例: 真实用例的 E2E Puppeteer 示例,例如从网页获取有用信息或常见的登录场景。
- browserless: Headless 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: 示例存储库,演示如何将 Puppeeteer 和 Cucumber 用于集成测试。