Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

browserless-agent无浏览器 Agent

Agent Skill

browserless-agent 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

58,042

周安装

2,371

GitHub Stars

公开资料未说明

下载量

18,589
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:browserless-agent(无浏览器 Agent)
来源仓库:https://github.com/raff-lima/browserless-agent
安装命令:
openclaw skills install browserless-agent
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install browserless-agent

简介

browserless-agent 使用无头浏览器进行专业级网络自动化。

  • 适用于 OpenClaw 中需要与任意网站交互的抓取或测试场景。
  • 支持导航、数据整理与复杂操作流程模拟。browserless-agent 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 需确保目标网站允许自动化访问,避免法律风险。
  • 建议设置合理的延迟与重试机制以提高稳定性。

SKILL.md

name
browserless-agent
description
Professional web automation with headless browser - navigate, scrape, automate, test, and interact with any website.
homepage
https://github.com/openclaw/browserless-agent
user-invocable
true
metadata
{"openclaw": {"emoji": "🌐", "requires": {"env": ["BROWSERLESS_URL"]}, "primaryEnv": "BROWSERLESS_URL"}}

Browserless Agent 🌐

A comprehensive web automation skill for OpenClaw that provides 30+ browser actions including navigation, data extraction, form filling, screenshot capture, PDF generation, file handling, and advanced web scraping capabilities.

🚀 Features

  • Navigation: Full control over page navigation, redirects, and history
  • Data Extraction: Get text, attributes, HTML, computed styles, and structured data
  • Form Automation: Type text, click buttons, select options, upload files
  • Visual Capture: Screenshots (full page, element-only, viewport)
  • Content Generation: Save pages as PDF with custom options
  • Advanced Interactions: Hover, drag-drop, keyboard shortcuts, scrolling
  • Multi-tab Support: Manage multiple pages and windows
  • Network Control: Intercept requests, modify headers, block resources
  • Storage Access: Manage cookies, localStorage, sessionStorage
  • Dynamic Content: Wait for selectors, network idle, custom conditions
  • iFrames: Interact with nested frame content
  • Browser State: Emulate devices, set geolocation, handle dialogs

🔧 Configuration

This skill requires the BROWSERLESS_URL environment variable to be configured in OpenClaw. Optionally, you can also set BROWSERLESS_TOKEN for authentication.

To set it up:

  1. Open OpenClaw settings
  2. Navigate to Skills → browserless-agent
  3. Enter your Browserless base URL in the API Key field
  4. (Optional) Add BROWSERLESS_TOKEN in the env section for token authentication

Configuration Examples:

Cloud Service (with token):

BROWSERLESS_URL=wss://chrome.browserless.io
BROWSERLESS_TOKEN=your-token-here

Local Service (no token):

BROWSERLESS_URL=ws://localhost:3000

Custom Endpoint:

BROWSERLESS_URL=wss://your-host.com/playwright/chromium
BROWSERLESS_TOKEN=optional-token

The skill will automatically:

  • Add /playwright/chromium if endpoint is not specified
  • Append token as query parameter if BROWSERLESS_TOKEN is set
  • Work with or without authentication token

Get your Browserless service at: browserless.io

Get your Browserless service at: browserless.io

📖 Available Actions

Navigation & Page Control

navigate

Navigate to a URL.

{"url": "https://example.com"}

go_back

Navigate to previous page in history.

{}

go_forward

Navigate to next page in history.

{}

reload

Reload the current page.

{"hard": false}

wait_for_load

Wait for page to finish loading.

{"timeout": 30000}

Data Extraction

get_text

Extract text content from element(s).

{"selector": "h1", "all": false}

get_attribute

Get attribute value from element(s).

{"selector": "img", "attribute": "src", "all": false}

get_html

Get inner or outer HTML of element(s).

{"selector": "article", "outer": false, "all": false}

get_value

Get input value from form element(s).

{"selector": "input[name='email']"}

get_style

Get computed CSS style property.

{"selector": ".box", "property": "background-color"}

get_multiple

Extract multiple pieces of data at once.

{
  "extractions": [
    {"name": "title", "selector": "h1", "type": "text"},
    {"name": "image", "selector": "img", "type": "attribute", "attribute": "src"},
    {"name": "price", "selector": ".price", "type": "text"}
  ]
}

Interaction & Input

type_text

Type text into an element.

{"selector": "input[type='search']", "text": "hello world", "delay": 0, "clear": true}

click

Click on an element.

{"selector": "button.submit", "force": false, "delay": 0}

double_click

Double-click on an element.

{"selector": ".item"}

right_click

Right-click (context menu) on an element.

{"selector": ".context-target"}

hover

Move mouse over an element.

{"selector": ".menu-item"}

focus

Focus on an element.

{"selector": "input"}

select_option

Select option(s) in a dropdown.

{"selector": "select", "values": ["option1", "option2"]}

check

Check a checkbox or radio button.

{"selector": "input[type='checkbox']"}

uncheck

Uncheck a checkbox.

{"selector": "input[type='checkbox']"}

upload_file

Upload file(s) to file input.

{"selector": "input[type='file']", "files": ["path/to/file.pdf"]}

press_key

Press keyboard key(s).

{"key": "Enter"}

Common keys: Enter, Tab, Escape, ArrowDown, Control+A, etc.

keyboard_type

Type text with keyboard (supports shortcuts).

{"text": "Hello World"}

Scrolling & Position

scroll_to

Scroll to specific position.

{"x": 0, "y": 500}

scroll_into_view

Scroll element into viewport.

{"selector": ".footer"}

scroll_to_bottom

Scroll to bottom of page.

{}

scroll_to_top

Scroll to top of page.

{}

Visual & Capture

screenshot

Take screenshot of page or element.

{
  "path": "screenshot.png",
  "full_page": true,
  "selector": null,
  "quality": 90,
  "type": "png"
}

pdf

Generate PDF from current page.

{
  "path": "page.pdf",
  "format": "A4",
  "landscape": false,
  "margin": {"top": "1cm", "right": "1cm", "bottom": "1cm", "left": "1cm"},
  "print_background": true
}

Evaluation & Execution

evaluate

Execute JavaScript in page context.

{"expression": "document.title"}

evaluate_function

Execute JavaScript function with arguments.

{
  "function": "(x, y) => x + y",
  "args": [5, 10]
}

Waiting & Timing

wait_for_selector

Wait for element to appear.

{"selector": ".dynamic-content", "timeout": 10000, "state": "visible"}

States: visible, hidden, attached, detached

wait_for_timeout

Wait for specified milliseconds.

{"timeout": 2000}

wait_for_function

Wait for JavaScript expression to return truthy.

{
  "expression": "() => document.readyState === 'complete'",
  "timeout": 10000
}

wait_for_navigation

Wait for navigation to complete.

{"timeout": 30000, "wait_until": "networkidle"}

wait_until options: load, domcontentloaded, networkidle

Element State Checking

is_visible

Check if element is visible.

{"selector": ".modal"}

is_enabled

Check if element is enabled.

{"selector": "button"}

is_checked

Check if checkbox/radio is checked.

{"selector": "input[type='checkbox']"}

element_exists

Check if element exists in DOM.

{"selector": ".optional-element"}

element_count

Count elements matching selector.

{"selector": ".list-item"}

Storage & Cookies

get_cookies

Get all cookies or specific cookie.

{"name": "session_id"}

set_cookie

Set a cookie.

{
  "name": "user_preference",
  "value": "dark_mode",
  "domain": "example.com",
  "path": "/",
  "expires": 1735689600,
  "httpOnly": false,
  "secure": true,
  "sameSite": "Lax"
}

delete_cookies

Delete cookies.

{"name": "session_id"}

Omit name to delete all cookies.

get_local_storage

Get localStorage item.

{"key": "user_data"}

set_local_storage

Set localStorage item.

{"key": "theme", "value": "dark"}

clear_local_storage

Clear all localStorage.

{}

Network & Requests

set_extra_headers

Set extra HTTP headers for all requests.

{
  "headers": {
    "Authorization": "Bearer token123",
    "X-Custom-Header": "value"
  }
}

block_resources

Block specific resource types.

{"types": ["image", "stylesheet", "font"]}

Types: document, stylesheet, image, media, font, script, xhr, fetch, other

get_page_info

Get comprehensive page information.

{}

Returns: title, url, html (optional), viewport size, etc.

iFrame Handling

get_frame_text

Get text from element inside iframe.

{
  "frame_selector": "iframe#content",
  "selector": "h1"
}

click_in_frame

Click element inside iframe.

{
  "frame_selector": "iframe#content",
  "selector": "button"
}

Multi-Page/Tab

new_page

Open a new page/tab.

{"url": "https://example.com"}

close_page

Close a specific page.

{"index": 1}

switch_page

Switch to a different page.

{"index": 0}

list_pages

List all open pages.

{}

Browser Context

set_viewport

Set viewport size.

{"width": 1920, "height": 1080}

emulate_device

Emulate mobile device.

{"device": "iPhone 12"}

Common devices: iPhone 12, iPad Pro, Galaxy S21, Pixel 5

set_geolocation

Set geolocation.

{
  "latitude": 37.7749,
  "longitude": -122.4194,
  "accuracy": 100
}

set_user_agent

Set custom user agent.

{"user_agent": "Mozilla/5.0..."}

Advanced Automation

drag_and_drop

Drag element and drop on target.

{
  "source": ".draggable",
  "target": ".drop-zone"
}

fill_form

Fill multiple form fields at once.

{
  "fields": {
    "input[name='email']": "user@example.com",
    "input[name='password']": "secret123",
    "select[name='country']": "US"
  }
}

extract_table

Extract data from HTML table.

{
  "selector": "table.data",
  "headers": true
}

extract_links

Extract all links from page.

{
  "selector": "a",
  "filter": "^https://example\\.com"
}

handle_dialog

Set how to handle JavaScript dialogs (alert/confirm/prompt).

{
  "action": "accept",
  "text": "Optional prompt response"
}

Actions: accept, dismiss

💡 Usage Examples

Example 1: Web Scraping

python main.py get_multiple '{
  "url": "https://news.ycombinator.com",
  "extractions": [
    {"name": "titles", "selector": ".titleline > a", "type": "text", "all": true},
    {"name": "links", "selector": ".titleline > a", "type": "attribute", "attribute": "href", "all": true}
  ]
}'

Example 2: Form Automation

python main.py fill_form '{
  "url": "https://example.com/contact",
  "fields": {
    "input[name='name']": "John Doe",
    "input[name='email']": "john@example.com",
    "textarea[name='message']": "Hello!"
  }
}'

Example 3: Screenshot with Element Highlight

python main.py screenshot '{
  "url": "https://example.com",
  "selector": ".hero-section",
  "path": "hero.png",
  "full_page": false
}'

Example 4: PDF Generation

python main.py pdf '{
  "url": "https://example.com/report",
  "path": "report.pdf",
  "format": "A4",
  "margin": {"top": "2cm", "bottom": "2cm"}
}'

🎯 OpenClaw Integration

To use this skill from OpenClaw, the agent can automatically invoke these actions. Examples:

User: "Take a screenshot of example.com" Agent: Executes screenshot action with the URL

User: "What's the title of wikipedia.org?" Agent: Navigates to Wikipedia and extracts text from the title element

User: "Search for 'Python' on Google and get the first result link" Agent: Navigates to Google, types in search, clicks search, extracts first result

🔒 Security Notes

  • Browserless connection uses WebSocket over TLS (wss://)
  • Credentials are never logged or exposed in responses
  • All browser actions are isolated in the Browserless container
  • No local browser installation required

🐛 Troubleshooting

Connection fails:

  • Verify BROWSERLESS_WS URL is correct
  • Check if token is valid and not expired
  • Ensure network allows WebSocket connections

Timeout errors:

  • Increase timeout values for slow-loading pages
  • Use wait_for_selector before interacting with dynamic content
  • Consider using wait_until: "networkidle" for AJAX-heavy sites

Element not found:

  • Verify selector using browser DevTools
  • Wait for element to load with wait_for_selector
  • Check if element is inside an iframe

📚 Resources

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

86.6%
按下载量换算16,098

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills