puppeteer

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 自动化工作流 🍴 复刻 9595 🐛 待处理 192 👀 关注 1186
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 95821
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,完全免费,无付费版本。

项目预览

puppeteer 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类自动化工作流
开发团队puppeteer
官网地址https://pptr.dev
定价模式🏷️完全免费
价格说明开源项目,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言TypeScript
技术栈/模型automation,chrome,chromium,developer-tools,firefox,headless-chrome,node-module,testing,web
GitHub 星标★ 95821
上线时间2017-05-09 00:00:00
代码更新2026-11-11
仓库体积1.54 GB
本站数据更新2026-11-11
维护状态活跃
收录时间2026-08-10
浏览次数21

项目介绍

Puppeteer 是一个由 Google 维护的 Node.js 库,提供高级 JavaScript API 来控制无头 Chrome 或 Firefox 浏览器。它解决了开发者需要以编程方式操作浏览器的痛点,无需手动打开界面即可完成自动化任务。其核心能力包括:页面 DOM 操作、表单提交、键盘输入、网络请求拦截与模拟、生成页面截图和 PDF、爬取单页应用(SPA)内容、模拟移动设备等。Puppeteer 通过 DevTools 协议与浏览器通信,支持有头/无头模式切换,广泛用于端到端测试、网页抓取、性能监控和自动化运维。它内置了浏览器下载管理,简化环境配置,并提供丰富的 API 文档和示例。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 95821

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Node.js 运行环境(Puppeteer 是 Node.js 库/Node 模块)
  • 支持 npm、pnpm、Yarn、Bun 或 Deno 等包管理器
  • 使用 puppeteer-core 时需自备 Chrome 或 Firefox 浏览器
  • 所在系统能够运行 Chrome 或 Firefox 浏览器

安装与启动步骤

  1. 1安装 Puppeteer

    在 Node.js 项目中执行该命令,安装过程中会自动下载与之兼容的 Chrome 浏览器。

    npm i puppeteer
  2. 2安装核心库

    改用 puppeteer-core 只安装库本身、不下载 Chrome,适合已有浏览器或自行指定浏览器可执行文件。

    npm i puppeteer-core
  3. 3手动装浏览器

    现代包管理器默认阻止依赖安装脚本,此时安装不会下载浏览器,需手动执行此命令补装所需浏览器。

    npx puppeteer browsers install
  4. 4放行安装脚本

    另一种做法是配置包管理器允许安装脚本运行,例如在 package.json 中把 "puppeteer" 加入 "allowScripts"。

  5. 5可选装 MCP

    README 提到可安装基于 Puppeteer 的 chrome-devtools-mcp 用于浏览器自动化与调试,安装方式见其仓库说明。

关键配置

配置项必填说明示例
allowScripts否package.json 中用于放行 puppeteer 安装脚本、使其自动下载浏览器{"allowScripts": ["puppeteer"]}

如何确认成功

安装命令无报错,且在安装脚本未被阻止时浏览器已随之下载完成,即可在代码中引入 puppeteer 使用。

常见问题

Q:安装后运行时报找不到浏览器怎么办?

A:多半是包管理器默认阻止了依赖安装脚本,导致安装时未下载浏览器。执行 npx puppeteer browsers install 手动下载,或把 puppeteer 加入 allowScripts 放行安装脚本。

Q:puppeteer 和 puppeteer-core 有什么区别?

A:npm i puppeteer 会在安装时下载兼容版本的 Chrome;puppeteer-core 只安装库、不下载浏览器,需要你自行提供并指定浏览器。

Q:Puppeteer 能控制 Firefox 吗?

A:可以。它通过 DevTools Protocol 或 WebDriver BiDi 控制 Chrome 或 Firefox,具体支持情况见官方文档。

Q:默认是打开浏览器界面还是无头运行?

A:默认以无头模式运行,也就是没有可见界面,适合服务器端自动化。

注意事项

  • 本项目是库/依赖,不是独立服务,安装后无需启动端口。
  • 官方文档、API、FAQ 与故障排查入口见 https://pptr.dev。
  • 现代包管理器默认阻止依赖安装脚本,请确认浏览器是否真的下载成功。
  • Puppeteer 默认无头运行,可通过 API 切换为有头模式。

核心亮点

  • API 设计直观,上手快,几行代码即可实现截图或生成 PDF
  • 与 Chrome DevTools 协议深度集成,支持网络拦截、性能追踪等高级功能
  • 自动管理浏览器下载,无需手动安装,环境配置简单

不足之处

  • 默认只支持 Chromium 系,对 Firefox 支持仍在完善中
  • 浏览器实例资源占用较高,并发场景下性能开销大

适用场景

  • 端到端测试:模拟用户操作验证 Web 应用功能
  • 网页爬虫:抓取 SPA 动态渲染内容
  • 自动化报表:定时截取网页图表或生成 PDF 报告

替代项目

Playwright、Selenium、Cypress

上一篇:data-engineering

下一篇:n8n

同类项目推荐

kmsg 开源

用命令行或 AI 操控 KakaoTalk,自动收发消息

Unofficial KakaoTalk CLI and native MCP server for macOS — read, watch, and send me···

★ 284 2026-08-09
n8n-nodes-imap 开源

把任意 IMAP 邮箱接入 n8n,邮件自动触发工作流

This is an n8n community node that adds support for IMAP email servers.

★ 166 2026-09-20
google-browser-scraper 开源

自托管抓 Google 搜索结果,输出 JSON 还能接 AI Agent

Self-hosted Google search scraper for Python. Scrape Google SERP results with a real···

★ 115 2026-11-02
multizen-browser 开源

给每个 AI 任务一个独立指纹浏览器,多账号互不串味

Browser for AI agents and human operators. Isolated local profiles with their own co···

★ 204 2026-09-15
crawlee 开源

写爬虫不用再操心反爬和调度,专注提取数据

Crawlee—A web scraping and browser automation library for Node.js to build reliable···

★ 26415 2026-09-18
personal-linkedin-agent 开源

用浏览器脚本自动打理 LinkedIn 日常操作

An agent to manage my personal LinkedIn account, using playwright for browser automa···

★ 125 2026-09-18
moon 开源

在 K8s 上按需拉起浏览器,跑 Selenium/Playwright 等自动化测试

Browser automation solution for Kubernetes and Openshift supporting Selenium, Playwr···

★ 281 2026-09-18
anymd 开源

本地把任意文件秒变干净 Markdown,直接喂给 AI

Any file → clean Markdown for AI agents: PDF, Word, PowerPoint, Excel, EPUB, HTML a···

★ 1069 2026-09-28
open-web-bridge 开源

让 AI 直接操控你已登录的真实 Chrome

Drive your real Chrome from any AI agent — logged-in sessions, real fingerprint, li···

★ 114 2026-09-15