An 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:
python
# 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")
OperationDescriptionExampleopenOpen a specified URLaction="open", url="..."snapshotGet page structureaction="snapshot"screenshotTake a page screenshotaction="screenshot"navigateNavigate to a URLaction="navigate", url="..."closeClose a tabaction="close", targetId="..."
Use the act operation for page interaction:
Extract data from web pages:
python
# 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:
python
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:
python
# Iterate through list items
for i in range(1, 6):
browser(action="act", kind="click", ref=f"item-{i}")
UI testing scenarios:
python
browser(action="act", kind="wait", loadState="domcontentloaded", timeMs=5000)
python
browser(action="dialog", kind="accept") # Confirm
# or
browser(action="dialog", kind="dismiss") # Cancel
python
browser(action="upload", ref="input-file", paths=["C:/path/to/file.pdf"])
python
browser(action="pdf", path="C:/output/page.pdf")
ParameterDescriptionDefaultprofileBrowser profile"openclaw"targetBrowser target"sandbox"slowlySlow motion modefalsetimeoutMsTimeout duration30000
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