| name | agent-browser |
| description | Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages. |
| metadata | {"jaguarclaw":{"requires":{"anyBins":["agent-browser","agent-browser.cmd"]}}} |
Browser Automation with agent-browser
Runtime Model
Desktop mode uses a bundled runtime:
- bundled
agent-browser binary
- bundled Chromium kernel
- per-agent/per-session profile persistence via
AGENT_BROWSER_PROFILE
In desktop mode, users should not need manual installation or PATH setup.
If this skill is unavailable, first check runtime diagnostics:
AGENT_BROWSER_EXECUTABLE_PATH
AGENT_BROWSER_CHROMIUM_PATH
AGENT_BROWSER_KERNEL_HOME
Platform-Specific Notes
Windows Users:
- Use
agent-browser.cmd instead of agent-browser in commands
- Or add
.cmd extension: agent-browser.cmd open <url>
- Bundled runtime already includes compatible launcher/binary
All Platforms:
- Verify availability with:
agent-browser --version
Quick start
agent-browser open <url>
agent-browser snapshot -i
agent-browser click @e1
agent-browser fill @e2 "text"
agent-browser close
Windows: Replace agent-browser with agent-browser.cmd in all commands above.
Core workflow
- Navigate:
.\agent-browser.cmd open <url>
- Snapshot:
.\agent-browser.cmd snapshot -i (returns elements with refs like @e1, @e2)
- Interact using refs from the snapshot
- Re-snapshot after navigation or significant DOM changes
Commands
Navigation
.\agent-browser.cmd open <url>
.\agent-browser.cmd back
.\agent-browser.cmd forward
.\agent-browser.cmd reload
.\agent-browser.cmd close
Snapshot (page analysis)
.\agent-browser.cmd snapshot
.\agent-browser.cmd snapshot -i
.\agent-browser.cmd snapshot -c
.\agent-browser.cmd snapshot -d 3
.\agent-browser.cmd snapshot -s "#main"
Interactions (use @refs from snapshot)
.\agent-browser.cmd click @e1
.\agent-browser.cmd dblclick @e1
.\agent-browser.cmd focus @e1
.\agent-browser.cmd fill @e2 "text"
.\agent-browser.cmd type @e2 "text"
.\agent-browser.cmd press Enter
.\agent-browser.cmd press Control+a
.\agent-browser.cmd keydown Shift
.\agent-browser.cmd keyup Shift
.\agent-browser.cmd hover @e1
.\agent-browser.cmd check @e1
.\agent-browser.cmd uncheck @e1
.\agent-browser.cmd select @e1 "value"
.\agent-browser.cmd scroll down 500
.\agent-browser.cmd scrollintoview @e1
.\agent-browser.cmd drag @e1 @e2
.\agent-browser.cmd upload @e1 file.pdf
Get information
.\agent-browser.cmd get text @e1
.\agent-browser.cmd get html @e1
.\agent-browser.cmd get value @e1
.\agent-browser.cmd get attr @e1 href
.\agent-browser.cmd get title
.\agent-browser.cmd get url
.\agent-browser.cmd get count ".item"
.\agent-browser.cmd get box @e1
Check state
.\agent-browser.cmd is visible @e1
.\agent-browser.cmd is enabled @e1
.\agent-browser.cmd is checked @e1
Screenshots & PDF
.\agent-browser.cmd screenshot
.\agent-browser.cmd screenshot path.png
.\agent-browser.cmd screenshot --full
.\agent-browser.cmd pdf output.pdf
Video recording
.\agent-browser.cmd record start ./demo.webm
.\agent-browser.cmd click @e1
.\agent-browser.cmd record stop
.\agent-browser.cmd record restart ./take2.webm
Recording creates a fresh context but preserves cookies/storage from your session. If no URL is provided, it automatically returns to your current page. For smooth demos, explore first, then start recording.
Wait
.\agent-browser.cmd wait @e1
.\agent-browser.cmd wait 2000
.\agent-browser.cmd wait --text "Success"
.\agent-browser.cmd wait --url "**/dashboard"
.\agent-browser.cmd wait --load networkidle
.\agent-browser.cmd wait --fn "window.ready"
Mouse control
.\agent-browser.cmd mouse move 100 200
.\agent-browser.cmd mouse down left
.\agent-browser.cmd mouse up left
.\agent-browser.cmd mouse wheel 100
Semantic locators (alternative to refs)
.\agent-browser.cmd find role button click --name "Submit"
.\agent-browser.cmd find text "Sign In" click
.\agent-browser.cmd find label "Email" fill "user@test.com"
.\agent-browser.cmd find first ".item" click
.\agent-browser.cmd find nth 2 "a" text
Browser settings
.\agent-browser.cmd set viewport 1920 1080
.\agent-browser.cmd set device "iPhone 14"
.\agent-browser.cmd set geo 37.7749 -122.4194
.\agent-browser.cmd set offline on
.\agent-browser.cmd set headers '{"X-Key":"v"}'
.\agent-browser.cmd set credentials user pass
.\agent-browser.cmd set media dark
Cookies & Storage
.\agent-browser.cmd cookies
.\agent-browser.cmd cookies set name value
.\agent-browser.cmd cookies clear
.\agent-browser.cmd storage local
.\agent-browser.cmd storage local key
.\agent-browser.cmd storage local set k v
.\agent-browser.cmd storage local clear
Network
.\agent-browser.cmd network route <url>
.\agent-browser.cmd network route <url> --abort
.\agent-browser.cmd network route <url> --body '{}'
.\agent-browser.cmd network unroute [url]
.\agent-browser.cmd network requests
.\agent-browser.cmd network requests --filter api
Tabs & Windows
.\agent-browser.cmd tab
.\agent-browser.cmd tab new [url]
.\agent-browser.cmd tab 2
.\agent-browser.cmd tab close
.\agent-browser.cmd window new
Frames
.\agent-browser.cmd frame "#iframe"
.\agent-browser.cmd frame main
Dialogs
.\agent-browser.cmd dialog accept [text]
.\agent-browser.cmd dialog dismiss
JavaScript
.\agent-browser.cmd eval "document.title"
Example: Form submission
.\agent-browser.cmd open https://example.com/form
.\agent-browser.cmd snapshot -i
.\agent-browser.cmd fill @e1 "user@example.com"
.\agent-browser.cmd fill @e2 "password123"
.\agent-browser.cmd click @e3
.\agent-browser.cmd wait --load networkidle
.\agent-browser.cmd snapshot -i
Example: Authentication with saved state
.\agent-browser.cmd open https://app.example.com/login
.\agent-browser.cmd snapshot -i
.\agent-browser.cmd fill @e1 "username"
.\agent-browser.cmd fill @e2 "password"
.\agent-browser.cmd click @e3
.\agent-browser.cmd wait --url "**/dashboard"
.\agent-browser.cmd state save auth.json
.\agent-browser.cmd state load auth.json
.\agent-browser.cmd open https://app.example.com/dashboard
Sessions (parallel browsers)
.\agent-browser.cmd --session test1 open site-a.com
.\agent-browser.cmd --session test2 open site-b.com
.\agent-browser.cmd session list
JSON output (for parsing)
Add --json for machine-readable output:
.\agent-browser.cmd snapshot -i --json
.\agent-browser.cmd get text @e1 --json
Debugging
.\agent-browser.cmd open example.com --headed
.\agent-browser.cmd console
.\agent-browser.cmd errors
.\agent-browser.cmd record start ./debug.webm
.\agent-browser.cmd record stop
.\agent-browser.cmd open example.com --headed
.\agent-browser.cmd --cdp 9222 snapshot
.\agent-browser.cmd console
.\agent-browser.cmd console --clear
.\agent-browser.cmd errors
.\agent-browser.cmd errors --clear
.\agent-browser.cmd highlight @e1
.\agent-browser.cmd trace start
.\agent-browser.cmd trace stop trace.zip