Agent Browser Assistant
For browser automation tasks, web data scraping, form filling, page screenshots, UI testing, and more.
OpenLark
@openlark
What This Skill Does
Programmatic browser automation tool for opening pages, clicking elements, typing text, scrolling, taking screenshots, extracting web content, and filling forms. Supports batch operations, file uploads, PDF export, and UI testing via a simple action-based API.
Replaces manual browser testing and repetitive web scraping by providing a scriptable interface for all common browser interactions.
When to Use It
- Automate form filling and login sequences on web applications
- Scrape structured data from tables or lists on a web page
- Take screenshots or export PDFs of web pages for reporting
- Run regression tests by verifying element presence and page behavior
- Perform batch operations across multiple pages or list items
- Upload files or handle browser dialogs programmatically
Install
$ openclaw skills install @openlark/agent-browser-assistantAgent Browser Assistant
An intelligent browser control assistant providing browser automation, data scraping, and testing capabilities.
Use Cases
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.
Quick Start
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")
Core Capabilities
1. Page Operations
| 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="..." |
2. Element Interaction
Use the act operation for page interaction:
- click: Click an element (ref: element reference)
- type: Type text (ref: input reference, text: content)
- press: Press a keyboard key (key: key name)
- hover: Hover over an element
- select: Select from a dropdown
- fill: Fill a form (fields: field dictionary)
- scroll: Scroll the page (x/y: coordinates)
3. Data Scraping
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))")
4. Automated Workflows
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}")
5. Testing Capabilities
UI testing scenarios:
- Regression Testing: Verify that page functionality works correctly
- Performance Monitoring: Page load time
- Element Existence Check: Verify that key elements are visible
Advanced Usage
Waiting for Page Load
browser(action="act", kind="wait", loadState="domcontentloaded", timeMs=5000)
Handling Dialogs
browser(action="dialog", kind="accept") # Confirm
# or
browser(action="dialog", kind="dismiss") # Cancel
File Upload
browser(action="upload", ref="input-file", paths=["C:/path/to/file.pdf"])
PDF Export
browser(action="pdf", path="C:/output/page.pdf")
Configuration Options
| Parameter | Description | Default |
|---|---|---|
| profile | Browser profile | "openclaw" |
| target | Browser target | "sandbox" |
| slowly | Slow motion mode | false |
| timeoutMs | Timeout duration | 30000 |
Common Selector Patterns
- Button:
button[type="submit"],#submit-btn - Input:
input[name="email"],#username - Link:
a[href*="login"] - Table:
table.data tr - List:
.item-list li
Notes
- Use
snapshotto get page structure before performing element operations - Dynamic content may require waiting for it to finish loading
- For logged-in state operations, use
profile="user"to reuse the user's browser - For large-scale data scraping, consider pagination to avoid timeouts
Top skills in this category
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Browser Use
@shawnpanaAutomates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...
Playwright MCP
@spiceman161Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.
Playwright (Automation + MCP + Scraper)
@ivangdavilaAutomates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).
Browser Automation
@peytoncasperAutomate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications.