SuperAPI AI 工具集

agent-browser

测试与质量

查看项目

更新于 10-16 04:14

技能介绍

用途

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

核心工作流

  1. 导航:agent-browser open <url>
  2. 快照:agent-browser snapshot -i(返回带引用如 @e1、@e2 的元素)
  3. 使用快照中的引用进行交互
  4. 导航或 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 参数运行多个浏览器会话。

限制

资料中未提供关于平台支持范围、性能上限、收费与价格、许可协议等限制性信息,暂未提供。