用途
agent-browser 是一个浏览器自动化命令行工具,用于自动化浏览器交互,覆盖网页测试、表单填写、截图和数据提取等任务。当用户需要导航网站、与网页元素交互时可以使用它。
安装
通过 npm 全局安装,并下载 Chromium:
npm install -g agent-browser
agent-browser install # Download Chromium
快速开始
agent-browser open <url> # Navigate to page
agent-browser snapshot -i # Get interactive elements with refs
agent-browser click @e1 # Click element by ref
agent-browser fill @e2 "text" # Fill input by ref
agent-browser close # Close browser
核心工作流
- 导航:
agent-browser open <url> - 快照:
agent-browser snapshot -i(返回带引用如 @e1、@e2 的元素) - 使用快照中的引用进行交互
- 导航或 DOM 发生重大变化后重新快照
主要能力(命令)
导航
agent-browser open <url> # Navigate to URL
agent-browser back # Go back
agent-browser forward # Go forward
agent-browser reload # Reload page
agent-browser close # Close browser
快照(页面分析)
agent-browser snapshot # Full accessibility tree
agent-browser snapshot -i # Interactive elements only (recommended)
agent-browser snapshot -c # Compact output
agent-browser snapshot -d 3 # Limit depth to 3
交互(使用快照中的 @refs)
agent-browser click @e1 # Click
agent-browser dblclick @e1 # Double-click
agent-browser fill @e2 "text" # Clear and type
agent-browser type @e2 "text" # Type without clearing
agent-browser press Enter # Press key
agent-browser press Control+a # Key combination
agent-browser hover @e1 # Hover
agent-browser check @e1 # Check checkbox
agent-browser uncheck @e1 # Uncheck checkbox
agent-browser select @e1 "value" # Select dropdown
agent-browser scroll down 500 # Scroll page
agent-browser scrollintoview @e1 # Scroll element into view
获取信息
agent-browser get text @e1 # Get element text
agent-browser get value @e1 # Get input value
agent-browser get title # Get page title
agent-browser get url # Get current URL
截图
agent-browser screenshot # Screenshot to stdout
agent-browser screenshot path.png # Save to file
agent-browser screenshot --full # Full page
等待
agent-browser wait @e1 # Wait for element
agent-browser wait 2000 # Wait milliseconds
agent-browser wait --text "Success" # Wait for text
agent-browser wait --load networkidle # Wait for network idle
语义定位器(引用的替代方案)
agent-browser find role button click --name "Submit"
agent-browser find text "Sign In" click
agent-browser find label "Email" fill "user@test.com"
使用示例
示例:表单提交
agent-browser open https://example.com/form
agent-browser snapshot -i
# Output shows: textbox "Email" [ref=e1], textbox "Password" [ref=e2], button "Submit" [ref=e3]
agent-browser fill @e1 "user@example.com"
agent-browser fill @e2 "password123"
agent-browser click @e3
agent-browser wait --load networkidle
agent-browser snapshot -i # Check result
示例:使用保存状态进行认证
# Login once
agent-browser open https://app.example.com/login
agent-browser snapshot -i
agent-browser fill @e1 "username"
agent-browser fill @e2 "password"
agent-browser click @e3
agent-browser wait --url "**/dashboard"
agent-browser state save auth.json
# Later sessions: load saved state
agent-browser state load auth.json
agent-browser open https://app.example.com/dashboard
会话(并行浏览器)
agent-browser --session test1 open site-a.com
agent-browser --session test2 open site-b.com
agent-browser session list
JSON 输出(用于解析)
添加 --json 以获得机器可读输出:
agent-browser snapshot -i --json
agent-browser get text @e1 --json
调试
agent-browser open example.com --headed # Show browser window
agent-browser console # View console messages
agent-browser errors # View page errors
适用场景
- 网页测试:通过命令行驱动浏览器执行交互并检查结果。
- 表单填写:使用快照引用或语义定位器填写输入框并提交。
- 截图:对页面或元素进行截图,支持保存到文件或全页截图。
- 数据提取:通过获取元素文本、输入值、页面标题和当前 URL 等命令提取信息。
- 需要登录态的场景:通过 state save / state load 保存和复用认证状态。
- 并行操作:通过 --session 参数运行多个浏览器会话。
限制
资料中未提供关于平台支持范围、性能上限、收费与价格、许可协议等限制性信息,暂未提供。