📌 评测对象:puppeteer/puppeteer | 星数:95,700+(2026-11-09)| 维护:Google | 协议:Apache-2.0
Puppeteer 是AI Agent操作浏览器的隐形支柱:Google维护的JavaScript库,高层API控制Chrome或Firefox——走 DevTools Protocol 与 WebDriver BiDi 双协议,默认无头运行。你每天用到的无数工具——测试框架、网页截图服务、PDF生成器、爬虫、AI Agent的浏览器手——底下十有八九是它。它不常上Trending(9.6万星是十几年的存量),但它是这个时代被依赖最多的浏览器自动化地基。
Agent操作浏览器的评测矩阵:逆向分析看 REA,执行器看 UNCUT,网页内容提取看 Firecrawl——Puppeteer是它们共同的"手"。
| 维度 | 评分 | 说明 |
|---|---|---|
| 协议与控制 | 9.5 | DevTools Protocol + WebDriver BiDi双协议,Chrome/Firefox双浏览器 |
| 生态地位 | 10 | 事实标准:无数测试框架、截图服务、Agent浏览器工具的底座 |
| 维护 | 9.0 | Google团队持续维护,跟随Chrome版本节奏 |
| 功能覆盖 | 9.0 | 截图/PDF/表单/文件上传/设备模拟/拦截请求/执行JS |
| 易用性 | 9.0 | npm i即用,高层API直觉化 |
| 文档 | 9.0 | pptr.dev结构清晰:入门/API/FAQ/排障四件套 |
| 灵活性 | 8.5 | puppeteer-core不带浏览器,指向任意已有Chrome |
| 浏览器矩阵 | 8.0 | Chrome系+Firefox;Safari需WebDriver系方案 |
npm i puppeteer # 自动下载兼容Chrome
npm i puppeteer-core # 纯库,指向已有浏览器
# ⚠️ 现代包管理器(npm/pnpm/Yarn/Bun/Deno)默认阻止
# 依赖安装脚本——被挡时浏览器不会自动下载,
# 需要手动跑浏览器下载命令(README有RFC说明)
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({ path: 'page.png' }); // 截图
await page.pdf({ path: 'page.pdf' }); // PDF
await browser.close();
推荐:需要浏览器自动化的所有Node.js开发者——测试、截图、PDF、爬取、Agent工具开发;给AI Agent装"浏览器手"的基建工程师(MCP服务器基于它开发的例子一大把)。
不建议:需要Safari与全浏览器矩阵的跨浏览器测试(选Playwright);非Node生态(Python选Playwright-Python或DrissionPage)。
综合评分 8.9/10:Puppeteer 是那种"存在感越低、重要性越高"的地基项目——2026年每个AI Agent的浏览器能力,追到底层十有八九是它在驱动。Google维护、双协议演进(WebDriver BiDi是未来)、Chrome版本同步——地基级别的9分实至名归。
Google维护的JavaScript库(9.6万星):高层API控制Chrome或Firefox——走DevTools Protocol或WebDriver BiDi双协议,默认无头运行。截图、PDF生成、页面自动化、爬取、扩展测试的地基。
puppeteer安装时自动下载兼容的Chrome;puppeteer-core是纯库不带浏览器——你指向已有的Chrome/Firefox/Edge。现代包管理器默认阻止依赖安装脚本,被挡时需手动运行浏览器下载。
Playwright由原Puppeteer团队出走创建,两者API神似;Puppeteer背靠Google维护、只专注Chromium系+Firefox,Playwright多浏览器统一体验——测试框架选型看团队习惯与浏览器矩阵需求。
Google维护的JavaScript库(9.6万星):高层API控制Chrome或Firefox——走DevTools Protocol或WebDriver BiDi双协议,默认无头运行。截图、PDF生成、页面自动化、爬取、扩展测试的地基。
puppeteer安装时自动下载兼容的Chrome;puppeteer-core是纯库不带浏览器——你指向已有的Chrome/Firefox/Edge。现代包管理器默认阻止依赖安装脚本,被挡时需手动运行浏览器下载。
Playwright由原Puppeteer团队出走创建,两者API神似;Puppeteer背靠Google维护、只专注Chromium系+Firefox,Playwright多浏览器统一体验——测试框架选型看团队习惯与浏览器矩阵需求。