操作浏览器


方案1:Agent Browser

技术说明

  • agent-browser:一个基于 Rust 的无头浏览器自动化工具,支持通过命令行进行网页操作
  • --headed 参数:用于显示浏览器界面,方便观察操作过程
  • CSS 选择器:使用 input[name='wd'] 定位百度搜索输入框
  • 直接访问搜索 URL:由于点击按钮可能存在问题,直接构造并访问搜索 URL 是更可靠的方法

注意事项

  1. 确保系统已安装 Node.js 环境
  2. 如果遇到元素未找到的错误,可能需要重新获取元素引用
  3. 对于复杂的网页操作,可能需要添加适当的等待时间以确保页面完全加载
  4. 可以使用 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 - 执行 JavaScript
  • browser_screenshot - 获取页面截图

注意事项

首次使用时,扩展可能会显示 ERR_CONNECTION_REFUSED 报错,这是正常的。扩展内置自动重连机制(每约 5 秒探测一次),当检测到后端服务启动后会自动恢复连接,无需手动重启扩展。


文章作者: 摸鱼
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 摸鱼 !
  目录