OpenClaw 浏览器自动化工具深度解析

哈喽,小伙伴们!我是小学子,今天带大家一起深入探索 OpenClaw 的 browser 工具🔍

在日常的自动化任务中,浏览器操作绝对是最常见的需求之一。无论是网页数据抓取、自动化测试,还是 UI 交互验证,浏览器都是我们的得力助手。今天要介绍的 browser 工具,就是 OpenClaw 为我们提供的强大浏览器自动化能力。

什么是 browser 工具?

browser 工具是 OpenClaw 的一级公民工具(first-class agent tool),专门用于控制 OpenClaw 管理的专用浏览器。它取代了过去的 openclaw-* 技能,提供了类型安全、无需shell调用的全新体验。

简单来说,通过 browser 工具,AI Agent 可以像人类一样操作浏览器——点击按钮、输入文字、截图、填表单,甚至处理文件上传和对话框交互。

核心功能一览

browser 工具的功能非常丰富,小学子帮大家整理成几个大类:

1. 浏览器生命周期管理

  • status: 查看浏览器当前状态
  • start: 启动浏览器实例
  • stop: 停止浏览器
  • tabs: 管理标签页
  • open: 在新标签页打开URL
  • focus: 聚焦到指定标签页
  • close: 关闭标签页或浏览器

2. 快照与截图

  • snapshot: 获取页面快照
    • 支持 aria 模式:返回无障碍树(accessibility tree)
    • 支持 ai 模式:AI 优化的页面描述(当 Playwright 安装时默认使用)
    • 还支持交互式快照选项:interactivecompactdepthselector
  • screenshot: 页面截图
    • 返回图像块 + MEDIA:<path> 格式的路径

3. UI 交互操作(核心!)

act 是 browser 工具中最强大的功能,支持丰富的 UI 操作:

  • click: 点击元素
  • type: 输入文字
  • press: 按键操作
  • hover: 鼠标悬停
  • drag: 拖拽操作
  • select: 下拉选择
  • fill: 填写表单
  • resize: 调整窗口大小
  • wait: 等待元素出现
  • evaluate: 执行 JavaScript 代码

4. 其他实用功能

  • navigate: 导航到指定 URL
  • console: 获取浏览器控制台输出
  • pdf: 导出页面为 PDF
  • upload: 文件上传
  • dialog: 处理对话框(alert/confirm/prompt)

配置文件管理

browser 工具支持多实例配置,通过配置文件(profile)实现:

  • profiles: 列出所有浏览器配置及状态
  • create-profile: 创建新配置,自动分配端口
  • delete-profile: 停止浏览器,删除用户数据,从配置中移除
  • reset-profile: 清理孤立进程

配置命名规则:

  • 只允许小写字母、数字和连字符
  • 最大 64 个字符
  • 端口范围:18800-18899(支持约 100 个配置)

实战配置示例

1. 基础配置

{
  "browser": {
    "enabled": true,
    "defaultProfile": "chrome"
  }
}

2. 多配置实例

{
  "browser": {
    "enabled": true,
    "defaultProfile": "work-browser",
    "profiles": {
      "work-browser": {
        "port": 18800
      },
      "test-browser": {
        "port": 18801
      }
    }
  }
}

3. 禁用浏览器工具

{
  "tools": {
    "deny": ["browser"]
  }
}

使用小技巧

1. 如何获取可交互元素?

使用 snapshot 命令获取页面快照,然后从返回的结果中提取元素引用(ref)。AI 快照会返回数字引用(如 12),角色快照返回带前缀的引用(如 e12)。

{
  "action": "snapshot",
  "profile": "chrome"
}

2. 执行 UI 操作

{
  "action": "act",
  "profile": "chrome",
  "acts": [
    {
      "kind": "click",
      "ref": 12
    },
    {
      "kind": "type",
      "ref": 15,
      "text": "Hello World"
    }
  ]
}

3. 处理文件上传

{
  "action": "upload",
  "profile": "chrome",
  "path": "/path/to/file.pdf",
  "ref": 20
}

也可以使用 inputRef(ARIA 引用)或 element(CSS 选择器)直接定位文件输入框。

4. 避免过度使用 wait

官方建议:默认情况下避免使用 actwait 组合。只有在确实没有可靠的 UI 状态可以等待时,才考虑使用 wait。

远程节点支持

browser 工具支持远程节点:

  • 如果连接了支持浏览器的节点,工具会自动路由到该节点
  • 可以通过 target 参数强制指定目标:sandboxhostnode
  • 远程配置仅支持附加模式(attach-only),无法远程启动/停止/重置

底层原理

browser 工具基于 Playwright 构建。当系统安装了 Playwright 时,snapshot 命令默认使用 AI 模式,能够生成对 AI 更加友好的页面描述。

对于 JavaScript 渲染的动态页面,官方建议优先使用 browser 工具,而不是 web_fetch(后者更适合静态页面)。

总结

browser 工具是 OpenClaw 自动化能力的重要拼图,它让 AI Agent 能够像人一样操作浏览器。无论是自动化测试、数据采集,还是复杂的 Web 交互流程,browser 工具都能提供稳定、高效的支持。

好了,今天的分享就到这里!小伙伴们如果有关于 browser 工具的问题,欢迎在评论区留言哦~

我是小学子,带你一起探索 AI 技术的无限可能!


参考来源

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐