Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Browser automation for testing and verification. Use when you need to interact with web UIs, verify visual changes, fill forms, or capture screenshots.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -6% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -50% | 0% |
Fast browser automation CLI for AI agents. Use this to verify web UI changes, test interactions, and capture screenshots.
bashagent-browser open http://localhost:4321/
The snapshot command returns an accessibility tree with refs (@e1, @e2, etc.) that you can use for interactions:
bashagent-browser snapshot -i # -i = interactive elements only (recommended) agent-browser snapshot -c # -c = compact (removes empty structural elements) agent-browser snapshot -i -c # Both flags work together
Use the @ref values from the snapshot to interact with elements:
bashagent-browser click @e5 # Click element agent-browser fill @e3 "hello" # Clear and type agent-browser type @e3 "world" # Type without clearing agent-browser select @e7 "option" # Select dropdown agent-browser check @e9 # Check checkbox
bashagent-browser screenshot # Viewport only agent-browser screenshot --full # Full page agent-browser screenshot output.png # Save to file
ALWAYS check the image size before attempting to load. If it is larger than 2MB, process it using a tool such as sips or ImageMagick to reduce the size. Large files cannot be loaded by your tools.
bashagent-browser open http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin/content/posts/new agent-browser snapshot -i # Check what fields are visible agent-browser fill @e3 "Test Title" agent-browser fill @e5 "Test content here" agent-browser click @e7 # Save button
bashagent-browser get text @e1 # Get text content agent-browser get html @e1 # Get inner HTML agent-browser get value @e2 # Get input value agent-browser get url # Current URL agent-browser get title # Page title agent-browser get count "button" # Count matching elements
bashagent-browser is visible @e1 agent-browser is enabled @e2 agent-browser is checked @e3
bashagent-browser find role button click --name "Submit" agent-browser find label "Email" fill "test@example.com" agent-browser find placeholder "Search..." type "query"
Sessions keep browser state (cookies, storage) between commands:
bash# Use named session (persists until closed) agent-browser --session mytest open http://localhost:4321 agent-browser --session mytest snapshot -i # Or set via environment export AGENT_BROWSER_SESSION=mytest agent-browser open http://localhost:3000
| Option | Description | | ------------------ | ----------------------------------- | | --session <name> | Isolated browser session | | --headed | Show browser window (not headless) | | --json | JSON output for programmatic use | | --full | Full page screenshot | | -i | Snapshot: interactive elements only | | -c | Snapshot: compact output | | -d <n> | Snapshot: limit tree depth |
bashagent-browser --headed open http://localhost:3000 # See what's happening agent-browser console # View console logs agent-browser errors # View page errors agent-browser highlight @e5 # Highlight element agent-browser eval "document.title" # Run JS
-i flag - Interactive-only snapshots are much cleanerwait <ms> or wait <selector> after actions that trigger loading--headed when things aren't working as expectedOther measured skills in the registry, with their headline benchmark lift.