Puppeteer

Puppeteer

site icon
2025.04.18 0
TypeScript网页自动化网页测试数据抓取浏览器自动化
mcp-puppeteer-advanced 是一个基于 Puppeteer 的浏览器自动化服务,通过 Model Context Protocol 协议提供丰富的网页交互能力。该服务允许 LLMs 在真实的浏览器环境中与网页进行交互,包括导航、截图、元素操作、JavaScript 执行等功能。
View on GitHub

Overview

基本能力

产品定位

mcp-puppeteer-advanced 是一个专业的浏览器自动化服务,旨在为开发者提供强大的网页交互和自动化测试能力。

核心功能

  • 网页导航与浏览
  • 页面截图与元素截图
  • 网页元素操作(点击、悬停、表单填写等)
  • JavaScript 执行
  • 图片提取与下载
  • DOM 元素分析
  • 多标签页管理
  • 视口切换与响应式测试
  • 浏览器历史导航

适用场景

  • 网页自动化测试
  • 网页内容抓取
  • 网页截图生成
  • 响应式设计测试
  • 网页交互模拟
  • 数据提取与分析

工具列表

  1. puppeteer_navigate - 浏览器导航工具
  2. puppeteer_screenshot - 页面截图工具
  3. puppeteer_click - 元素点击工具
  4. puppeteer_hover - 元素悬停工具
  5. puppeteer_fill - 表单填写工具
  6. puppeteer_select - 下拉选择工具
  7. puppeteer_evaluate - JavaScript 执行工具
  8. puppeteer_extract_images - 图片提取工具
  9. puppeteer_download_images - 图片下载工具
  10. puppeteer_analyze_element - 元素分析工具
  11. puppeteer_browser_status - 浏览器状态管理工具
  12. puppeteer_analyze_page_hierarchy - 页面层级分析工具
  13. puppeteer_viewport_switcher - 视口切换工具
  14. puppeteer_navigation_history - 历史导航工具

常见问题解答

  1. 如何自定义浏览器启动选项? 可以通过环境变量 PUPPETEER_LAUNCH_OPTIONS 或直接在 puppeteer_navigate 工具中传递 launchOptions 参数。
  2. 如何启用危险选项? 设置 allowDangerous 参数为 true 或设置环境变量 ALLOW_DANGEROUS="true"
  3. 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

调试方式

  1. 检查浏览器状态
await callTool("puppeteer_browser_status", {
  action: "status"
});
  1. 测试页面导航
await callTool("puppeteer_navigate", {
  url: "https://example.com"
});
  1. 测试截图功能
await callTool("puppeteer_screenshot", {
  name: "test-screenshot"
});

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。