Puppeteer MCP 服务器借助 Puppeteer 工具库,通过 WebDriver 协议控制 Chrome 浏览器。它提供了丰富的 API 来操作浏览器,可实现导航、截图、元素操作等功能,为浏览器自动化操作提供了便利。
Puppeteer 是一个由 Google 开发的工具库,用于通过 WebDriver 协议控制 Chrome 浏览器。Puppeteer 提供了丰富的 API 来操作浏览器,包括导航、截图、元素操作等。
运行以下命令以克隆仓库并安装依赖项:
git clone https://github.com/your-repository.git
cd puppeteer-mcp-server
npm install
npm install
npm run dev
npm install --production
npm start
默认情况下,服务器将启动一个新的浏览器实例。
要连接到现有 Chrome 窗口:
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
# Linux
google-chrome --remote-debugging-port=9222
puppeteer_connect_active_tab 工具连接:{
"targetUrl": "https://example.com", // 可选:指定要连接的标签页 URL
"debugPort": 9222 // 可选:默认为 9222
}
服务器将:
连接到现有 Chrome 实例,该实例启用了远程调试功能。
targetUrl:要连接的特定标签页的 URL。debugPort:Chrome 调试端口(默认为 9222)。导航到指定 URL。
url:要导航到的 URL。拍摄当前页面或特定元素的截图。
name:截图的名称。selector:用于选择要截图元素的 CSS 选择器。width:以像素为单位的宽度(默认为 800)。height:以像素为单位的高度(默认为 600)。点击页面上的某个元素。
selector:要点击的元素的 CSS 选择器。填写输入字段的内容。
selector:输入字段的 CSS 选择器。value:要填写的值。提交表单。
selector:表单元素或其父容器的 CSS 选择器。debug:调试模式,输出详细日志信息。info:默认模式,输出一般信息日志。warn:警告模式,输出潜在问题的日志。error:错误模式,输出严重错误的日志。{
"timestamp": "2023-10-26T15:36:40.123Z",
"level": "info",
"message": "Server started on port 8080"
}
Error: Cannot connect to browser instance
解决方法:
Error: Page not loaded
解决方法:
在启动时自定义浏览器选项:
{
"executablePath": "/path/to/chrome",
"args": ["--incognito"],
"userDataDir": "/path/to/user/data"
}
通过加载扩展来增强浏览器功能:
"extensions": ["/path/to/extension.crx"]
# 启动服务器
npm start -- --port 8081
# 运行测试
npm test
# 打包项目
npm run build
问:如何处理 CORS 问题? 答:在配置中启用跨域资源共享:
"cors": {
"enabled": true,
"origin": "*"
}
问:如何捕获浏览器截图?
答:使用 page.screenshot() 方法,并指定输出路径和格式。
如需更多信息,请访问 项目主页 或联系 维护人员。
本项目遵循 MIT 许可证。详情请查阅 LICENSE 文件。
感谢以下贡献者对项目的支持: