快速入门

核心工作流程

每个浏览器自动化都遵循以下模式:

# 1. 导航
agent-browser open example.com

# 2. 快照以获取元素引用
agent-browser snapshot -i
# 输出:
# @e1 [heading] "Example Domain"
# @e2 [link] "更多信息..."

# 3. 使用引用进行交互
agent-browser click @e2

# 4. 页面变化后重新快照
agent-browser snapshot -i

常用命令

agent-browser open example.com
agent-browser snapshot -i                # 获取带有引用的可交互元素
agent-browser click @e2                  # 通过引用点击
agent-browser fill @e3 "[email protected]" # 通过引用填充输入框
agent-browser get text @e1               # 获取文本内容
agent-browser screenshot                 # 保存到临时目录
agent-browser screenshot page.png        # 保存到指定路径
agent-browser close

传统选择器

支持 CSS 选择器和语义定位器:

agent-browser click "#submit"
agent-browser fill "#email" "[email protected]"
agent-browser find role button click --name "提交"

带界面模式

显示浏览器窗口以用于调试:

agent-browser open example.com --headed

等待内容加载

agent-browser wait @e1                   # 等待元素出现
agent-browser wait --load networkidle    # 等待网络空闲
agent-browser wait --url "**/dashboard"  # 等待匹配 URL 模式
agent-browser wait 2000                  # 等待毫秒数

命令链式调用

在单个 shell 调用中使用 && 链式执行命令。浏览器通过后台守护进程保持运行,因此链式调用安全且高效:

# 一次调用中打开、等待并快照
agent-browser open example.com && agent-browser wait --load networkidle && agent-browser snapshot -i

# 链式执行多个交互操作
agent-browser fill @e1 "[email protected]" && agent-browser fill @e2 "pass" && agent-browser click @e3

# 导航并捕获
agent-browser open example.com && agent-browser wait --load networkidle && agent-browser screenshot page.png

当不需要中间输出时使用 &&。若需先解析输出(例如:通过快照发现引用后再进行交互),则应分开运行命令。

JSON 输出

用于脚本中的程序化解析:

agent-browser snapshot --json
agent-browser get text @e1 --json

注意:默认的文本输出更紧凑,更适合人工智能代理使用。