
Puppeteer

2025.04.20
38474
JavaScript网页自动化网页截图JavaScript执行浏览器自动化
Puppeteer是一个基于Model Context Protocol(MCP)的服务,提供浏览器自动化能力。它使LLMs能够与网页交互、截图以及在真实浏览器环境中执行JavaScript。
View on GitHub
Overview
基本能力
产品定位
Puppeteer是一个浏览器自动化工具,旨在通过MCP协议提供网页交互、截图和JavaScript执行能力。
核心功能
- 浏览器自动化:包括导航、点击、悬停、表单填充等基本网页交互功能。
- 截图能力:可以捕获整个页面或特定元素的截图。
- JavaScript执行:在浏览器控制台中执行自定义JavaScript代码。
- 控制台日志监控:实时获取浏览器控制台输出。
- 可定制的Puppeteer启动选项:支持自定义浏览器启动参数。
适用场景
- 网页自动化测试
- 网页内容抓取
- 网页截图生成
- 网页交互模拟
- 网页性能监控
工具列表
- puppeteer_navigate:导航到指定URL
- 能力:控制浏览器访问指定网页,支持自定义启动参数
- puppeteer_screenshot:页面截图
- 能力:捕获整个页面或特定元素的截图
- puppeteer_click:点击元素
- 能力:模拟用户点击页面元素
- puppeteer_hover:悬停元素
- 能力:模拟鼠标悬停在页面元素上
- puppeteer_fill:填充表单
- 能力:向输入框填充指定内容
- puppeteer_select:选择下拉选项
- 能力:选择SELECT标签中的选项
- puppeteer_evaluate:执行JavaScript
- 能力:在浏览器控制台中执行自定义JavaScript代码
资源类型
- Console Logs (
console://logs
) - 浏览器控制台输出文本
- Screenshots (
screenshot://<name>
) - 捕获的PNG格式截图
常见问题解答
- 如何自定义浏览器启动参数?
- 可以通过环境变量
PUPPETEER_LAUNCH_OPTIONS
或工具调用参数launchOptions
来设置 - Docker和NPX版本有什么区别?
- Docker版本使用无头Chromium,而NPX版本会打开浏览器窗口
- 如何允许危险启动参数?
- 设置
allowDangerous
参数为true或设置环境变量ALLOW_DANGEROUS
为"true"
使用教程
使用依赖
- 确保已安装Node.js和npm
- 确保已安装Docker(如需使用Docker版本)
安装教程
Docker安装
docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
NPX安装
无需安装,直接通过npx运行
配置示例
Docker配置
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer"]
}
}
}
NPX配置
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
调试方式
- 检查浏览器是否正常启动
- 查看控制台日志输出
- 验证截图功能是否正常工作
- 测试JavaScript执行功能