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-assistant

Agent 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

OperationDescriptionExample
openOpen 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="..."

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

ParameterDescriptionDefault
profileBrowser profile"openclaw"
targetBrowser target"sandbox"
slowlySlow motion modefalse
timeoutMsTimeout duration30000

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

  1. Use snapshot to get page structure before performing element operations
  2. Dynamic content may require waiting for it to finish loading
  3. For logged-in state operations, use profile="user" to reuse the user's browser
  4. For large-scale data scraping, consider pagination to avoid timeouts

Top skills in this category

Agent Browser

@matrixy

Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection

453152k

Browser Use

@shawnpana

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...

11475k

Playwright MCP

@spiceman161

Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.

15845k

Playwright (Automation + MCP + Scraper)

@ivangdavila

Automates, 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).

12839k

Browser Automation

@peytoncasper

Automate 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.

6448k