agent-browser Command Reference
Complete reference for all agent-browser CLI commands.
Installation
npm install -g agent-browserGlobal Options
| Option | Description |
|---|---|
--session <name> |
Use named session for parallel testing |
--json |
Output results as JSON |
--headed |
Show browser window (for debugging) |
--cdp <port> |
Connect via Chrome DevTools Protocol |
Navigation Commands
open
Navigate to a URL.
agent-browser open <url>
agent-browser open https://example.com
agent-browser open https://example.com --headed # Show browserback
Navigate back in history.
agent-browser backforward
Navigate forward in history.
agent-browser forwardreload
Reload the current page.
agent-browser reload
agent-browser reload --hard # Clear cacheclose
Close the browser.
agent-browser closeSnapshot Commands
Snapshots analyze the page and return element references (@e1, @e2, etc.) for interactions.
snapshot
Get page accessibility tree.
agent-browser snapshot # Full tree
agent-browser snapshot -i # Interactive elements only (recommended)
agent-browser snapshot -c # Compact output
agent-browser snapshot -d 3 # Limit depth to 3 levels
agent-browser snapshot -s "#main" # Scope to CSS selector
agent-browser snapshot -a # Include ARIA attributes
agent-browser snapshot -f # Full page (scroll through all)Options:
| Flag | Description |
|---|---|
-i |
Interactive elements only |
-c |
Compact output |
-d <n> |
Limit depth |
-s <selector> |
Scope to CSS selector |
-a |
Include ARIA attributes |
-f |
Full page snapshot |
Interaction Commands
All interaction commands use @refs from snapshot output.
click
Click an element.
agent-browser click @e1
agent-browser click @e1 --force # Force click (bypass visibility checks)
agent-browser click @e1 --button right # Right-clickdblclick
Double-click an element.
agent-browser dblclick @e1focus
Focus an element.
agent-browser focus @e1fill
Clear and type into an input.
agent-browser fill @e1 "text to type"
agent-browser fill @e1 "" # Clear fieldtype
Type without clearing (append).
agent-browser type @e1 "additional text"press
Press a key or key combination.
agent-browser press Enter
agent-browser press Tab
agent-browser press Escape
agent-browser press Control+a # Select all
agent-browser press Control+c # Copy
agent-browser press Control+v # Paste
agent-browser press Shift+Tab # Shift+Tab
agent-browser press Alt+F4 # Close windowkeydown / keyup
Hold or release a key.
agent-browser keydown Shift
agent-browser click @e1
agent-browser keyup Shifthover
Hover over an element.
agent-browser hover @e1check / uncheck
Toggle checkboxes.
agent-browser check @e1
agent-browser uncheck @e1select
Select dropdown option.
agent-browser select @e1 "Option Text"
agent-browser select @e1 --value "option_value"
agent-browser select @e1 --index 2scroll
Scroll the page or element.
agent-browser scroll down 500 # Scroll down 500px
agent-browser scroll up 300 # Scroll up 300px
agent-browser scroll left 200 # Scroll left
agent-browser scroll right 200 # Scroll right
agent-browser scroll top # Scroll to top
agent-browser scroll bottom # Scroll to bottomscrollintoview
Scroll element into viewport.
agent-browser scrollintoview @e1drag
Drag and drop.
agent-browser drag @e1 @e2 # Drag e1 to e2
agent-browser drag @e1 100 200 # Drag e1 to coordinatesupload
Upload files to file input.
agent-browser upload @e1 file.pdf
agent-browser upload @e1 file1.pdf file2.pdf # Multiple filesInformation Commands
get text
Get element text content.
agent-browser get text @e1
agent-browser get text @e1 --jsonget html
Get element innerHTML.
agent-browser get html @e1get value
Get input value.
agent-browser get value @e1get attr
Get element attribute.
agent-browser get attr @e1 href
agent-browser get attr @e1 data-id
agent-browser get attr @e1 classget title
Get page title.
agent-browser get titleget url
Get current URL.
agent-browser get urlget count
Count elements matching selector.
agent-browser get count ".item"
agent-browser get count "button"
agent-browser get count "[data-testid='row']"get box
Get element bounding box.
agent-browser get box @e1
# Returns: { x, y, width, height }State Check Commands
is visible
Check if element is visible.
agent-browser is visible @e1
# Returns: true/falseis enabled
Check if element is enabled.
agent-browser is enabled @e1is checked
Check if checkbox/radio is checked.
agent-browser is checked @e1Screenshot & Media Commands
screenshot
Capture screenshot.
agent-browser screenshot # Output to stdout
agent-browser screenshot page.png # Save to file
agent-browser screenshot --full page.png # Full page scroll
agent-browser screenshot @e1 element.png # Element onlyExport page as PDF.
agent-browser pdf output.pdf
agent-browser pdf output.pdf --format A4
agent-browser pdf output.pdf --landscaperecord
Record video.
agent-browser record start ./video.webm # Start recording
agent-browser record stop # Stop and save
agent-browser record restart ./new.webm # Stop current, start newWait Commands
wait (element)
Wait for element to appear.
agent-browser wait @e1
agent-browser wait @e1 --timeout 10000wait (time)
Wait for milliseconds.
agent-browser wait 2000wait --text
Wait for text to appear.
agent-browser wait --text "Success"
agent-browser wait --text "Loading" --gone # Wait for text to disappearwait --url
Wait for URL pattern.
agent-browser wait --url "**/dashboard"
agent-browser wait --url "https://example.com/success"wait --load
Wait for page load state.
agent-browser wait --load domcontentloaded
agent-browser wait --load load
agent-browser wait --load networkidlewait --fn
Wait for JavaScript condition.
agent-browser wait --fn "window.loaded === true"
agent-browser wait --fn "document.querySelectorAll('.item').length > 5"Mouse Commands
mouse move
Move mouse to coordinates.
agent-browser mouse move 100 200mouse down / up
Press/release mouse button.
agent-browser mouse down left
agent-browser mouse up left
agent-browser mouse down rightmouse wheel
Scroll with mouse wheel.
agent-browser mouse wheel 100 # Scroll down
agent-browser mouse wheel -100 # Scroll upSemantic Locators
Alternative to @refs - find elements by semantic properties.
find role
Find by ARIA role.
agent-browser find role button click --name "Submit"
agent-browser find role textbox fill "text" --name "Email"
agent-browser find role link click --name "Home"find text
Find by text content.
agent-browser find text "Sign In" click
agent-browser find text "Continue" clickfind label
Find input by label.
agent-browser find label "Email" fill "user@test.com"
agent-browser find label "Password" fill "<test-password-placeholder>"find first / nth
Find by CSS selector.
agent-browser find first ".item" click
agent-browser find nth 2 ".item" click # 0-indexed
agent-browser find last ".item" clickBrowser Settings
set viewport
Set browser viewport size.
agent-browser set viewport 1920 1080
agent-browser set viewport 375 812 # Mobileset device
Emulate device.
agent-browser set device "iPhone 14"
agent-browser set device "iPad Pro"
agent-browser set device "Pixel 7"set geo
Set geolocation.
agent-browser set geo 37.7749 -122.4194 # San Franciscoset offline
Toggle offline mode.
agent-browser set offline on
agent-browser set offline offset headers
Set extra HTTP headers.
agent-browser set headers '{"X-Test-Run": "true"}'set credentials
Set HTTP basic auth credentials.
agent-browser set credentials <test-user> <test-password-placeholder>set media
Set media features (dark mode, etc.).
agent-browser set media dark
agent-browser set media light
agent-browser set media reduced-motionCookies & Storage
cookies
Manage cookies.
agent-browser cookies # Get all
agent-browser cookies set test_mode true # Set non-sensitive cookie
agent-browser cookies get name # Get specific
agent-browser cookies clear # Clear all
agent-browser cookies clear --name foo # Clear specificstorage
Manage localStorage/sessionStorage.
agent-browser storage local # Get all localStorage
agent-browser storage local key # Get specific key
agent-browser storage local set key value # Set value
agent-browser storage local clear # Clear all
agent-browser storage session # sessionStorage
agent-browser storage session key
agent-browser storage session set key value
agent-browser storage session clearstate
Save/load browser state (cookies + storage).
agent-browser state save auth.json # Save state
agent-browser state load auth.json # Load stateNetwork Commands
network route
Intercept and mock network requests.
agent-browser network route "**/api/data" # Log requests
agent-browser network route "**/api/data" --abort # Block requests
agent-browser network route "**/api/data" --body '{}' # Mock response
agent-browser network route "**/api/data" --status 500 # Mock status
agent-browser network route "**/*.png" --abort # Block imagesnetwork unroute
Remove network interception.
agent-browser network unroute # Remove all
agent-browser network unroute "**/api/*" # Remove specificnetwork requests
View intercepted requests.
agent-browser network requests
agent-browser network requests --filter api
agent-browser network requests --method POSTTab & Window Commands
tab
Manage browser tabs.
agent-browser tab # List all tabs
agent-browser tab new # New blank tab
agent-browser tab new <url> # New tab with URL
agent-browser tab 2 # Switch to tab index
agent-browser tab close # Close current tab
agent-browser tab close 2 # Close tab by indexwindow
Manage browser windows.
agent-browser window new # New window
agent-browser window close # Close windowFrame Commands
frame
Switch between frames.
agent-browser frame "#iframe-id" # Switch to iframe
agent-browser frame "[name=foo]" # By name attribute
agent-browser frame main # Back to main frameDialog Commands
dialog
Handle JavaScript dialogs (alert, confirm, prompt).
agent-browser dialog accept # Accept dialog
agent-browser dialog accept "text" # Accept with input (for prompt)
agent-browser dialog dismiss # Dismiss dialogJavaScript Commands
eval
Execute JavaScript in page context.
agent-browser eval "document.title"
agent-browser eval "window.scrollY"
agent-browser eval "Object.keys(localStorage)"
agent-browser eval "document.querySelectorAll('.item').length"Session Commands
Run parallel browser instances.
agent-browser --session test1 open site-a.com
agent-browser --session test2 open site-b.com
agent-browser --session test1 snapshot -i
agent-browser --session test2 snapshot -i
agent-browser session list
agent-browser session close test1Debugging Commands
console
View browser console output.
agent-browser console # View messages
agent-browser console --clear # Clear console
agent-browser console --filter error # Filter by typeerrors
View page errors.
agent-browser errors
agent-browser errors --clearhighlight
Highlight element on page (headed mode).
agent-browser highlight @e1trace
Record performance trace.
agent-browser trace start
# ... perform actions ...
agent-browser trace stop trace.zipCommon Patterns
Login Flow (with saved auth state)
# Login
agent-browser open https://app.example.com/login
agent-browser snapshot -i
agent-browser fill @e1 "testuser"
agent-browser fill @e2 "<test-password-placeholder>"
agent-browser click @e3
agent-browser wait --url "**/dashboard"
# Save auth state for reuse
agent-browser state save auth.json
# Load state in a new session
agent-browser state load auth.json
agent-browser open https://app.example.com/protectedForm Validation Testing
agent-browser open https://app.example.com/signup
agent-browser snapshot -i
# Test empty submission
agent-browser click @e5 # Submit button
agent-browser snapshot -i # Check for error messages
# Test invalid email
agent-browser fill @e1 "invalid-email"
agent-browser click @e5
agent-browser get text @e1 # Check error
# Test valid submission
agent-browser fill @e1 "valid@email.com"
agent-browser fill @e2 "<test-password-placeholder>"
agent-browser click @e5
agent-browser wait --url "**/dashboard"Visual Regression Testing
agent-browser open https://app.example.com
agent-browser set viewport 1920 1080
agent-browser screenshot desktop.png --full
agent-browser set device "iPhone 14"
agent-browser reload
agent-browser screenshot mobile.png --fullMulti-Step Checkout Testing
agent-browser open https://shop.example.com/cart
agent-browser snapshot -i
# Step 1: Cart
agent-browser click @e3 # Proceed to checkout
# Step 2: Shipping
agent-browser wait @e1
agent-browser snapshot -i
agent-browser fill @e1 "123 Test St"
agent-browser fill @e2 "Test City"
agent-browser select @e3 "CA"
agent-browser fill @e4 "90210"
agent-browser click @e5 # Continue
# Step 3: Payment
agent-browser wait --text "Payment"
agent-browser snapshot -i
agent-browser fill @e1 "<payment-test-token>"
agent-browser fill @e2 "<test-expiry>"
agent-browser fill @e3 "<test-cvc>"
agent-browser click @e4 # Place order
agent-browser wait --text "Order confirmed"
agent-browser screenshot order-confirmation.pngAPI Response Mocking
# Mock slow API response
agent-browser network route "**/api/data" --body '{"items":[]}'
agent-browser open https://app.example.com
agent-browser snapshot -i # Verify empty state UI
# Block external analytics
agent-browser network route "**/analytics/**" --abort