方案1:Agent Browser
技术说明
- agent-browser:一个基于 Rust 的无头浏览器自动化工具,支持通过命令行进行网页操作
- --headed 参数:用于显示浏览器界面,方便观察操作过程
- CSS 选择器:使用
input[name='wd']定位百度搜索输入框 - 直接访问搜索 URL:由于点击按钮可能存在问题,直接构造并访问搜索 URL 是更可靠的方法
注意事项
- 确保系统已安装 Node.js 环境
- 如果遇到元素未找到的错误,可能需要重新获取元素引用
- 对于复杂的网页操作,可能需要添加适当的等待时间以确保页面完全加载
- 可以使用
agent-browser snapshot -i命令查看页面上的交互元素及其引用
方案2:cdp-bridge-mcp
https://mp.weixin.qq.com/s/cGb4_CyPlJvV1pnTa8eO8w?click_id=1
CDP Bridge MCP 适合需要让大模型操作真实浏览器的场景。和无状态 HTTP 抓取不同,它连接的是你已经登录、已经打开的浏览器页面,因此可以复用真实浏览器里的登录态、Cookie、页面状态和前端渲染结果。
代码仓库:https://github.com/Unagi-cq/cdp-bridge-mcp
使用步骤
0.安装浏览器插件
根据文章内容,完成加载浏览器扩展这一步。
1. 确认安装 uv
确保电脑上已安装 uv 工具(Python 包管理器)。
2. 配置 MCP 客户端
根据您使用的 MCP 客户端选择配置方式:
方式一:stdio 模式(默认,推荐本地使用)
tare客户端示例:
{
"mcpServers": {
"操作浏览器": {
"command": "uvx",
"args": [
"cdp-bridge@latest"
]
}
}
}
方式二:streamable-http 模式(适合远端部署)
# 先启动服务
uvx cdp-bridge@latest --transport streamable-http --port 8000
3. 使用浏览器工具
配置完成后,在浏览器中打开任意页面,然后在 MCP 客户端调用工具:
browser_get_tabs- 获取已连接标签页列表browser_scan- 扫描当前页面内容browser_execute_js- 执行 JavaScriptbrowser_screenshot- 获取页面截图
注意事项
首次使用时,扩展可能会显示 ERR_CONNECTION_REFUSED 报错,这是正常的。扩展内置自动重连机制(每约 5 秒探测一次),当检测到后端服务启动后会自动恢复连接,无需手动重启扩展。