mcpField
A
agent-browser-2

agent-browser-2

github.com/sundial-orgAgent 工作流67049 次安装34 周前更新
代码仓库

关于 agent-browser-2

agent-browser-2 是基于无障碍树快照和元素引用的浏览器自动化技能,可实现确定性交互。它通过 agent-browser CLI 支持多步浏览、独立会话、状态持久化和网络控制。

主要功能

  1. 01带元素引用的无障碍快照
  2. 02基于引用的浏览器交互
  3. 03独立浏览器会话
  4. 04Cookie 与存储状态保存和加载
  5. 05网络请求检查与路由

适用场景

  1. 01自动执行多步网站工作流
  2. 02使用独立用户会话进行测试
  3. 03在多次运行间复用登录状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill agent-browser-2

安装后在 Claude Code 中输入/agent-browser-2确认已加载。

详细介绍

Agent Browser 技能

使用无障碍树快照和引用,实现快速浏览器自动化,并确定性地选择元素。

为什么使用它而不是内置浏览器工具

在以下情况下使用 agent-browser:

  • 自动化多步工作流
  • 需要确定性地选择元素
  • 对性能要求很高
  • 使用复杂的 SPA
  • 需要隔离会话

在以下情况下使用内置浏览器工具:

  • 需要截图/PDF 进行分析
  • 需要进行视觉检查
  • 需要集成浏览器扩展

核心工作流

# 1. Navigate and snapshot
agent-browser open https://example.com
agent-browser snapshot -i --json

# 2. Parse refs from JSON, then interact
agent-browser click @e2
agent-browser fill @e3 "text"

# 3. Re-snapshot after page changes
agent-browser snapshot -i --json

主要命令

导航
agent-browser open <url>
agent-browser back | forward | reload | close
快照(始终使用 -i --json)
agent-browser snapshot -i --json          # Interactive elements, JSON output
agent-browser snapshot -i -c -d 5 --json  # + compact, depth limit
agent-browser snapshot -s "#main" -i      # Scope to selector
交互(基于引用)
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                    # Wait for element
agent-browser wait 1000                   # Wait ms
agent-browser wait --text "Welcome"       # Wait for text
agent-browser wait --url "**/dashboard"   # Wait for URL
agent-browser wait --load networkidle     # Wait for network
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
# Or via env: AGENT_BROWSER_SESSION=admin agent-browser ...
状态持久化
agent-browser state save auth.json        # Save cookies/storage
agent-browser state load auth.json        # Load (skip login)
截图和 PDF
agent-browser screenshot page.png
agent-browser screenshot --full page.png
agent-browser pdf page.pdf
网络控制
agent-browser network route "**/ads/*" --abort           # Block
agent-browser network route "**/api/*" --body '{"x":1}'  # Mock
agent-browser network requests --filter api              # View
Cookie 和存储
agent-browser cookies                     # Get all
agent-browser cookies set name value
agent-browser storage local key           # Get localStorage
agent-browser storage local set key val
标签页和框架
agent-browser tab new https://example.com
agent-browser tab 2                       # Switch to tab
agent-browser frame @e5                   # Switch to iframe
agent-browser frame main                  # Back to 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 identifies search box @e1
agent-browser fill @e1 "AI agents"
agent-browser press Enter
agent-browser wait --load networkidle
agent-browser snapshot -i --json
# AI identifies result refs
agent-browser get text @e3 --json
agent-browser get attr @e4 "href" --json

示例:多会话测试

# Admin session
agent-browser --session admin open app.com
agent-browser --session admin state load admin-auth.json
agent-browser --session admin snapshot -i --json

# User session (simultaneous)
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                     # Download Chromium
agent-browser install --with-deps         # Linux: + system deps

致谢

技能由 Yossi Elkrief 创建(@MaTriXy)

agent-browser CLI 由 Vercel Labs 提供

评论

支持 Markdown