
Puppeteer

2025.04.18
0
TypeScript网页自动化网页测试数据抓取浏览器自动化
mcp-puppeteer-advanced 是一个基于 Puppeteer 的浏览器自动化服务,通过 Model Context Protocol 协议提供丰富的网页交互能力。该服务允许 LLMs 在真实的浏览器环境中与网页进行交互,包括导航、截图、元素操作、JavaScript 执行等功能。
View on GitHub
Overview
基本能力
产品定位
mcp-puppeteer-advanced 是一个专业的浏览器自动化服务,旨在为开发者提供强大的网页交互和自动化测试能力。
核心功能
- 网页导航与浏览
- 页面截图与元素截图
- 网页元素操作(点击、悬停、表单填写等)
- JavaScript 执行
- 图片提取与下载
- DOM 元素分析
- 多标签页管理
- 视口切换与响应式测试
- 浏览器历史导航
适用场景
- 网页自动化测试
- 网页内容抓取
- 网页截图生成
- 响应式设计测试
- 网页交互模拟
- 数据提取与分析
工具列表
- puppeteer_navigate - 浏览器导航工具
- puppeteer_screenshot - 页面截图工具
- puppeteer_click - 元素点击工具
- puppeteer_hover - 元素悬停工具
- puppeteer_fill - 表单填写工具
- puppeteer_select - 下拉选择工具
- puppeteer_evaluate - JavaScript 执行工具
- puppeteer_extract_images - 图片提取工具
- puppeteer_download_images - 图片下载工具
- puppeteer_analyze_element - 元素分析工具
- puppeteer_browser_status - 浏览器状态管理工具
- puppeteer_analyze_page_hierarchy - 页面层级分析工具
- puppeteer_viewport_switcher - 视口切换工具
- puppeteer_navigation_history - 历史导航工具
常见问题解答
- 如何自定义浏览器启动选项?
可以通过环境变量
PUPPETEER_LAUNCH_OPTIONS
或直接在puppeteer_navigate
工具中传递launchOptions
参数。 - 如何启用危险选项?
设置
allowDangerous
参数为 true 或设置环境变量ALLOW_DANGEROUS="true"
。 - Docker 和 NPX 版本有什么区别? Docker 版本默认使用无头浏览器,而 NPX 版本会打开可见的浏览器窗口。
使用教程
使用依赖
- Node.js 16+
- npm 或 yarn
- Docker(如需使用 Docker 版本)
安装教程
Docker 安装
docker build -t mcp/puppeteer -f Dockerfile .
NPX 安装
npx -y @modelcontextprotocol/server-puppeteer
调试方式
- 检查浏览器状态
await callTool("puppeteer_browser_status", {
action: "status"
});
- 测试页面导航
await callTool("puppeteer_navigate", {
url: "https://example.com"
});
- 测试截图功能
await callTool("puppeteer_screenshot", {
name: "test-screenshot"
});