Puppeteer 浏览器自动化库
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/puppeteer-browser-automation-library-for-chrome-and-firefox。
技能介绍
要解决的问题
浏览器自动化的需求往往分散在多个环节:测试团队要批量验证页面行为,数据团队要抓取渲染后的 DOM 或网络数据,运维和产品团队需要定时生成 PDF 报告,还有大量操作需要把「打开页面 → 登录 → 点击 → 导出」串成稳定流程。这些场景的共同痛点是:要么依赖 Selenium 这类笨重的工具链,要么靠脆弱的元素定位硬撑,一旦页面结构变化就全线崩溃。更麻烦的是,当你真正需要精确控制页面加载时机、拦截请求、改写响应时,大多数轻量方案根本给不出协议层面的控制点。
核心能力与工作方式
- 双浏览器覆盖:Chrome 和 Firefox 均可驱动,底层走 DevTools Protocol(CDP),或较新的 WebDriver BiDi 协议
- 典型任务形态:页面截图、PDF 生成、渲染后页面数据抓取、把一串页面操作编排成自动化工作流
- 编程式控制粒度:作为 JavaScript 库,可以等待特定元素出现、拦截并改写网络请求、控制导航节奏与页面状态——这些不是黑盒参数,而是协议层的显式控制点,适合需要深挖页面行为的场景
- 调试友好:可配合基于 Puppeteer 的 MCP server 做浏览器自动化与调试,便于把控制能力接入现有工具链
适用边界
- 需要 Node.js 环境;Chrome for Testing 一般由
puppeteer自动下载,环境受限(离线、CI 镜像)时可用puppeteer-core接已有浏览器 - Firefox 支持基于 WebDriver BiDi,与 Chrome 的 CDP 路径在部分高级能力上可能存在差异,关键场景应先做验证再依赖
- 抓取频率控制、验证码绕过、风控对抗这类反爬工程不在工具职责范围内,需要另行解决
- 涉及登录态共享、代理池、多账号并发时,仍要自己处理会话与隔离策略
使用场景
- 前端开发者需要验证页面在不同状态下的渲染结果,用脚本批量截图对比异常样式
- 数据分析团队要抓取经过 JavaScript 渲染后的页面内容,获取完整可读的 DOM 结构
- 运维人员需要定时将线上报告页面转成 PDF 存档,并确认生成结果无缺失
- 测试工程师编写回归用例,通过自动化驱动浏览器执行登录、点击和表单提交流程
适合人员
- 前端开发工程师,需要将浏览器行为自动化来验证渲染结果或页面交互
- 数据分析工程师,需要从依赖脚本渲染的页面中稳定抓取数据
- 测试开发工程师,需要用编程方式在 Chrome 或 Firefox 中执行端到端流程
- 运维工程师,需要将网页内容定时转换为 PDF 或截图归档