OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  agent-browser: 专为 AI 智能体优化的无头浏览器自动化工具

agent-browser: 专为 AI 智能体优化的无头浏览器自动化工具

 
  migration ·  2026-02-03 21:14:30 · 3 次点击  · 0 条评论  

名称: agent-browser
描述: 专为 AI 代理优化的无头浏览器自动化 CLI,提供无障碍树快照和基于引用(ref)的元素选择功能
元数据: {"clawdbot":{"emoji":"🌐","requires":{"commands":["agent-browser"]},"homepage":"https://github.com/vercel-labs/agent-browser"}}


Agent Browser 技能

通过无障碍树快照和引用(ref)机制,实现快速、确定性的浏览器自动化元素选择。

为何选择此工具而非内置浏览器工具

在以下场景使用 agent-browser:
- 自动化多步骤工作流
- 需要确定性元素选择
- 性能要求苛刻
- 处理复杂的单页应用(SPA)
- 需要会话隔离

在以下场景使用内置浏览器工具:
- 需要截图或 PDF 进行分析
- 需要进行视觉检查
- 需要浏览器扩展集成

核心工作流

# 1. 导航并获取快照
agent-browser open https://example.com
agent-browser snapshot -i --json

# 2. 从 JSON 解析引用,然后进行交互
agent-browser click @e2
agent-browser fill @e3 "text"

# 3. 页面变化后重新获取快照
agent-browser snapshot -i --json

关键命令

导航

agent-browser open <url>
agent-browser back | forward | reload | close

快照(始终使用 -i --json

agent-browser snapshot -i --json          # 交互式元素,JSON 输出
agent-browser snapshot -i -c -d 5 --json  # 附加:紧凑格式,深度限制
agent-browser snapshot -s "#main" -i      # 限定选择器范围

交互(基于引用)

agent-browser click @e2
agent-browser fill @e3 "text"
agent-browser type @e3 "text"
agent-browser hover @e4
agent-browser check @e5 | uncheck @e5
agent-browser select @e6 "value"
agent-browser press "Enter"
agent-browser scroll down 500
agent-browser drag @e7 @e8

获取信息

agent-browser get text @e1 --json
agent-browser get html @e2 --json
agent-browser get value @e3 --json
agent-browser get attr @e4 "href" --json
agent-browser get title --json
agent-browser get url --json
agent-browser get count ".item" --json

检查状态

agent-browser is visible @e2 --json
agent-browser is enabled @e3 --json
agent-browser is checked @e4 --json

等待

agent-browser wait @e2                    # 等待元素出现
agent-browser wait 1000                   # 等待指定毫秒数
agent-browser wait --text "Welcome"       # 等待文本出现
agent-browser wait --url "**/dashboard"   # 等待 URL 匹配
agent-browser wait --load networkidle     # 等待网络空闲
agent-browser wait --fn "window.ready === true" # 等待自定义函数条件

会话(隔离的浏览器上下文)

agent-browser --session admin open site.com
agent-browser --session user open site.com
agent-browser session list
# 或通过环境变量:AGENT_BROWSER_SESSION=admin agent-browser ...

状态持久化

agent-browser state save auth.json        # 保存 cookies/存储状态
agent-browser state load auth.json        # 加载状态(跳过登录)

截图与 PDF

agent-browser screenshot page.png
agent-browser screenshot --full page.png
agent-browser pdf page.pdf

网络控制

agent-browser network route "**/ads/*" --abort           # 拦截请求
agent-browser network route "**/api/*" --body '{"x":1}'  # 模拟响应
agent-browser network requests --filter api              # 查看请求

Cookies 与存储

agent-browser cookies                     # 获取所有 cookies
agent-browser cookies set name value
agent-browser storage local key           # 获取 localStorage 值
agent-browser storage local set key val

标签页与框架

agent-browser tab new https://example.com
agent-browser tab 2                       # 切换到指定标签页
agent-browser frame @e5                   # 切换到 iframe
agent-browser frame main                  # 返回主框架

快照输出格式

{
  "success": true,
  "data": {
    "snapshot": "...",
    "refs": {
      "e1": {"role": "heading", "name": "Example Domain"},
      "e2": {"role": "button", "name": "Submit"},
      "e3": {"role": "textbox", "name": "Email"}
    }
  }
}

最佳实践

  1. 始终使用 -i 标志 - 专注于交互式元素
  2. 始终使用 --json 标志 - 便于解析输出
  3. 等待页面稳定 - 使用 agent-browser wait --load networkidle
  4. 保存认证状态 - 使用 state save/load 跳过登录流程
  5. 使用会话 - 隔离不同的浏览器上下文
  6. 调试时使用 --headed - 查看实际运行情况

示例:搜索与提取

agent-browser open https://www.google.com
agent-browser snapshot -i --json
# AI 识别搜索框 @e1
agent-browser fill @e1 "AI agents"
agent-browser press Enter
agent-browser wait --load networkidle
agent-browser snapshot -i --json
# AI 识别结果引用
agent-browser get text @e3 --json
agent-browser get attr @e4 "href" --json

示例:多会话测试

# 管理员会话
agent-browser --session admin open app.com
agent-browser --session admin state load admin-auth.json
agent-browser --session admin snapshot -i --json

# 用户会话(同时运行)
agent-browser --session user open app.com
agent-browser --session user state load user-auth.json
agent-browser --session user snapshot -i --json

安装

npm install -g agent-browser
agent-browser install                     # 下载 Chromium
agent-browser install --with-deps         # Linux:同时安装系统依赖

致谢

技能由 Yossi Elkrief (@MaTriXy) 创建

agent-browser CLI 由 Vercel Labs 开发

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor