此技能需要访问外网资源,可能需要科学上网
运行时依赖
无特殊依赖
版本
latestv0.1.0
agent-browser snapshot -i --json
安装命令
点击复制官方npx clawhub@latest install agent-browser-clawdbot
镜像加速npx clawhub@latest install agent-browser-clawdbot --registry https://cn.longxiaskill.com 镜像可用
国内专用npm install -g agent-browser --registry=https://registry.npmmirror.com
本土化适配说明
使用国内 npm 镜像源安装可以加速下载。先全局安装 agent-browser,随后执行 `agent-browser install` 下载所需的 Chromium 浏览器二进制,Linux 环境可加 `--with-deps` 安装系统依赖。
技能文档
使用可访问性树快照并通过 ref 实现确定性元素定位的高速浏览器自动化工具。
为什么选择它而不是内置浏览器工具
在以下场景使用 agent-browser:
- 自动化多步骤工作流
- 需要确定性的元素选择
- 对性能有严格要求
- 处理复杂的单页应用(SPA)
- 需要会话隔离
在以下场景使用内置浏览器工具:
- 需要截图 / PDF 进行分析
- 需要视觉检查
- 需要浏览器扩展集成
核心工作流
1. 导航并快照
agent-browser open https://example.com
agent-browser snapshot -i --json
2. 从 JSON 中解析 refs 后交互
agent-browser click @e2
agent-browser fill @e3 "text"
3. 页面变化后重新快照
agent-browser snapshot -i --json
关键命令
导航
agent-browser open
agent-browser back | forward | reload | close
快照(始终使用 -i --json)
agent-browser snapshot -i --json # 只返回交互元素,JSON 输出
agent-browser snapshot -i -c -d 5 --json # 加上 compact,深度限制
agent-browser snapshot -s "#main" -i # 限定选择器范围
基于 Ref 的交互
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 # 保存 cookie / storage
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}' # Mock 接口返回 agent-browser network requests --filter api # 查看请求列表
Cookie 与 Storage
agent-browser cookies # 获取全部 cookie
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 # 切换到标签页 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"}
}
}
}
最佳实践
- 始终使用
-i参数,仅关注交互元素 - 始终使用
--json,便于解析 - 等待页面稳定后再操作,例如
agent-browser wait --load networkidle - 保存认证状态,避免重复登录:
state save/load - 使用会话实现不同账号或场景的隔离
- 调试时加
--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 识别结果 refs
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 --registry=https://registry.npmmirror.com
agent-browser install # 下载 Chromium
agent-browser install --with-deps # Linux:额外安装系统依赖
致谢
Skill created by Yossi Elkrief (@MaTriXy)
agent-browser CLI by Vercel Labs