项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 95821
使用教程
环境要求
- Node.js 运行环境(Puppeteer 是 Node.js 库/Node 模块)
- 支持 npm、pnpm、Yarn、Bun 或 Deno 等包管理器
- 使用 puppeteer-core 时需自备 Chrome 或 Firefox 浏览器
- 所在系统能够运行 Chrome 或 Firefox 浏览器
安装与启动步骤
-
1安装 Puppeteer
在 Node.js 项目中执行该命令,安装过程中会自动下载与之兼容的 Chrome 浏览器。
npm i puppeteer -
2安装核心库
改用 puppeteer-core 只安装库本身、不下载 Chrome,适合已有浏览器或自行指定浏览器可执行文件。
npm i puppeteer-core -
3手动装浏览器
现代包管理器默认阻止依赖安装脚本,此时安装不会下载浏览器,需手动执行此命令补装所需浏览器。
npx puppeteer browsers install -
4放行安装脚本
另一种做法是配置包管理器允许安装脚本运行,例如在 package.json 中把 "puppeteer" 加入 "allowScripts"。
-
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···
n8n-nodes-imap
开源
把任意 IMAP 邮箱接入 n8n,邮件自动触发工作流
This is an n8n community node that adds support for IMAP email servers.
google-browser-scraper
开源
自托管抓 Google 搜索结果,输出 JSON 还能接 AI Agent
Self-hosted Google search scraper for Python. Scrape Google SERP results with a real···
multizen-browser
开源
给每个 AI 任务一个独立指纹浏览器,多账号互不串味
Browser for AI agents and human operators. Isolated local profiles with their own co···
crawlee
开源
写爬虫不用再操心反爬和调度,专注提取数据
Crawlee—A web scraping and browser automation library for Node.js to build reliable···
personal-linkedin-agent
开源
用浏览器脚本自动打理 LinkedIn 日常操作
An agent to manage my personal LinkedIn account, using playwright for browser automa···
moon
开源
在 K8s 上按需拉起浏览器,跑 Selenium/Playwright 等自动化测试
Browser automation solution for Kubernetes and Openshift supporting Selenium, Playwr···
anymd
开源
本地把任意文件秒变干净 Markdown,直接喂给 AI
Any file → clean Markdown for AI agents: PDF, Word, PowerPoint, Excel, EPUB, HTML a···
open-web-bridge
开源
让 AI 直接操控你已登录的真实 Chrome
Drive your real Chrome from any AI agent — logged-in sessions, real fingerprint, li···
