Install
openclaw skills install agent-browser-assistantFor browser automation tasks, web data scraping, form filling, page screenshots, UI testing, and more.
openclaw skills install agent-browser-assistantAn intelligent browser control assistant providing browser automation, data scraping, and testing capabilities.
Opening web pages, clicking/typing/scrolling, taking screenshots/recordings, extracting web content, exporting table data, automated form filling, batch operations, scheduled tasks, login authentication, UI testing, regression testing.
Use the browser tool for all browser operations:
# Open a web page
browser(action="open", url="https://example.com")
# Take a screenshot
browser(action="screenshot")
# Click an element
browser(action="act", kind="click", ref="button-submit")
# Type text
browser(action="act", kind="type", ref="input-username", text="user@example.com")
# Scroll the page
browser(action="act", kind="scroll", y=500)
# Get a page snapshot
browser(action="snapshot")
| Operation | Description | Example |
|---|---|---|
| open | Open a specified URL | action="open", url="..." |
| snapshot | Get page structure | action="snapshot" |
| screenshot | Take a page screenshot | action="screenshot" |
| navigate | Navigate to a URL | action="navigate", url="..." |
| close | Close a tab | action="close", targetId="..." |
Use the act operation for page interaction:
Extract data from web pages:
# Get a page snapshot to analyze structure
browser(action="snapshot")
# Extract table data - using selector
browser(action="act", kind="evaluate", selector="table.data", fn="Array.from(document.querySelectorAll('tr')).map(r => Array.from(r.querySelectorAll('td')).map(c => c.innerText))")
Automated form filling:
browser(action="act", kind="fill", fields=[
{"ref": "input-email", "value": "user@example.com"},
{"ref": "input-password", "value": "password123"}
])
browser(action="act", kind="click", ref="button-login")
Batch operations:
# Iterate through list items
for i in range(1, 6):
browser(action="act", kind="click", ref=f"item-{i}")
UI testing scenarios:
browser(action="act", kind="wait", loadState="domcontentloaded", timeMs=5000)
browser(action="dialog", kind="accept") # Confirm
# or
browser(action="dialog", kind="dismiss") # Cancel
browser(action="upload", ref="input-file", paths=["C:/path/to/file.pdf"])
browser(action="pdf", path="C:/output/page.pdf")
| Parameter | Description | Default |
|---|---|---|
| profile | Browser profile | "openclaw" |
| target | Browser target | "sandbox" |
| slowly | Slow motion mode | false |
| timeoutMs | Timeout duration | 30000 |
button[type="submit"], #submit-btninput[name="email"], #usernamea[href*="login"]table.data tr.item-list lisnapshot to get page structure before performing element operationsprofile="user" to reuse the user's browser