JavaScript API for Chrome and Firefox
94.8k stars | TypeScript | Apache 2.0 | Google | https://pptr.dev
Google 出品的高层 Chrome/Firefox 控制库,通过 DevTools Protocol 或 WebDriver BiDi 控制浏览器,支持无头(headless)模式。
核心定位
Puppeteer 是浏览器自动化的底层库,提供精细的 CDP(Chrome DevTools Protocol)访问能力,适合构建爬虫、截图服务、PDF 生成、测试等工具。与 Cypress/Playwright 相比,它更靠近底层,灵活性更高但开箱即用程度低。
核心特性
- Chrome/Firefox 支持:内置对应版本浏览器,安装即用(
npm i puppeteer) - DevTools Protocol:直接访问 CDP,性能分析、网络拦截、JS 覆盖率等
- WebDriver BiDi:新一代跨浏览器协议支持(实验性)
- MCP 集成:官方推荐
chrome-devtools-mcp,支持 AI Agent 驱动浏览器 - WebMCP:实验性 WebMCP API,浏览器内嵌 MCP 支持
安装
npm i puppeteer # 自动下载兼容版 Chrome
npm i puppeteer-core # 不下载 Chrome,作为库使用基本用法
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
const title = await page.title();
await browser.close();与 Playwright 的关系
Playwright 是微软从 Puppeteer 团队分叉并重写的工程,两者 API 相似但 Playwright 在多浏览器支持、并行测试和可靠性方面做了更多工作。Puppeteer 的优势在于 CDP 的原生访问深度,对 Chrome 特有能力(如性能分析、内存快照)支持更好。
AI Agent 相关
- 官方推荐
chrome-devtools-mcp作为 MCP Server - 支持 AI Agent 通过 MCP 协议控制浏览器进行自动化操作
相关页面
- cypress — E2E + 组件测试框架,基于浏览器内运行
- scrapling — 自适应 Web 爬虫,Puppeteer 直接替换方案
- cloakbrowser — 隐身 Chromium,Puppeteer/Playwright 直接替换