Token导航 LogoToken导航

Agent Skill · 研究检索

browserless-agent(无浏览器 Agent)

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

browserless-agent 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 2,603。

总安装 58,042周安装 2,371GitHub Stars 公开资料未说明下载 18,589核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
0.1.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 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

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

browserless-agent 使用无头浏览器进行专业级网络自动化。适用于 OpenClaw 中需要与任意网站交互的抓取或测试场景。支持导航、数据整理与复杂操作流程模拟。browserless-agent 属于研究检索类 Skill,可作为该场景下的辅助能力补充。需确保目标网站允许自动化访问,避免法律风险。

建议设置合理的延迟与重试机制以提高稳定性。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install browserless-agent;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

browserless-agent 怎么安装?

在终端执行 openclaw skills install browserless-agent。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

browserless-agent 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

browserless-agent 需要什么权限?

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

browserless-agent 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

browserless-agent 用的人多吗?

公开数据是累计安装 58,042 次,近一周安装 2,371 次,下载 18,589 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

browserless-agent 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
browserless-agent

无浏览器 Agent · 本页

58,042—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

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

平台分布

OpenClaw

86.6%
按下载量换算16,098

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

接触敏感数据

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

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills