← 返回 Skills 市场
tylerdotai

Dexter Browser Automation

作者 Tyler · GitHub ↗ · v2.0.0 · MIT-0
cross-platform ✓ 安全检测通过
84
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install dex-browser
功能描述
Browser automation via Playwright. Use when pages are JS-rendered, require user interaction (click/fill), or need screenshots. Part of the 3-layer web tool h...
使用说明 (SKILL.md)

Browser Automation

When to Use This Skill

Trigger conditions:

  • web_fetch returned empty, garbled, or incomplete content
  • Target page is JavaScript-rendered (React/Vue/Angular SPAs)
  • Need to interact with UI: click buttons, fill forms, navigate flows
  • Need a screenshot of a page's current rendered state
  • Multi-step flows: login → navigate → scrape
  • Extracting structured data from dynamically loaded content

Do NOT use this skill when:

  • Page is static HTML — web_fetch is faster
  • Only need to find a URL — web_search is the right first step
  • You need API data — check if the site has a public API first
  • The page requires authentication you don't have

The 3-Layer Web Tool Hierarchy

Layer 1 — Search:    web_search → find URLs
Layer 2 — Extract:   web_fetch → get page content (static pages only!)
Layer 3 — Interact:  browser.py → JS rendering, interaction, screenshots

Always try Layer 1 and 2 before reaching for browser automation.


Setup Check

python3 skills/browser-automation/scripts/init.py

Should return {"ready": true}. If not, Playwright needs installation.


Scripts

All scripts exit with code 0 on success, 1 on usage error, 2 on browser error.

screenshot.py — Capture a page

python3 skills/browser-automation/scripts/screenshot.py \x3Curl> [path]
# Default path: /tmp/screenshot.png

Returns: {success, saved, title}

scrape.py — Get rendered HTML

python3 skills/browser-automation/scripts/scrape.py \x3Curl>

Returns: {success, title, url, html} (html truncated to 50k chars)

extract.py — Pull structured data

python3 skills/browser-automation/scripts/extract.py \x3Curl> \x3Cselector>

CSS selector targets elements. Extracts up to 50 elements, each with text, href, src, alt.

Returns: {success, count, selector, items[]}

interact.py — Click and fill

# Click
python3 skills/browser-automation/scripts/interact.py click \x3Cselector> [url]

# Fill input
python3 skills/browser-automation/scripts/interact.py fill \x3Cselector> \x3Cvalue> [url]

# Hover
python3 skills/browser-automation/scripts/interact.py hover \x3Cselector> [url]

If url is provided, navigates there first. Returns: {success, action, selector, title, url}


Reference Docs

  • references/selectors.md — CSS selector syntax and common patterns
  • references/patterns.md — Login flows, search pagination, infinite scroll, stealth mode, error recovery

Examples

JS-rendered page (would fail web_fetch)

# web_fetch gives nothing on HN — use extract
python3 scripts/extract.py "https://news.ycombinator.com" ".titleline > a"

Screenshot a page

python3 scripts/screenshot.py "https://site.com/dashboard" "/tmp/dashboard.png"

Form login flow

python3 scripts/interact.py fill "#username" "[email protected]" "https://site.com/login"
python3 scripts/interact.py fill "#password" "secret123"
python3 scripts/interact.py click "button[type=submit]"
python3 scripts/scrape.py "https://site.com/dashboard"

Get structured data from a list

python3 scripts/extract.py "https://jobs.site.com/postings?q=engineer" ".job-listing h2"

Quick Reference

Task Command
Screenshot screenshot.py \x3Curl> [path]
HTML scrape.py \x3Curl>
Data extract.py \x3Curl> \x3Cselector>
Click interact.py click \x3Cselector> [url]
Fill interact.py fill \x3Cselector> \x3Cvalue> [url]
Setup check init.py

Skill Metadata

  • Scripts: init.py, screenshot.py, scrape.py, extract.py, interact.py
  • References: selectors.md, patterns.md
  • Requires: Playwright (pip install playwright && playwright install chromium)
  • Exit codes: 0=success, 1=usage error, 2=browser error
安全使用建议
This package is coherent for browser automation, but exercise caution before installing or running it: - Run it in a sandbox/container (it launches headless Chromium and uses --no-sandbox and other args). - Audit the code (especially cdp.py's eval path) before using it in production; arbitrary JS evaluation can be used to exfiltrate data or perform actions on pages. - Avoid supplying real credentials to its examples or commands unless you trust the environment and the site; prefer using test accounts. - Install Playwright and browsers in a controlled way as documented, and don't run untrusted pages in the same host session that has sensitive access. - Note provenance: there is no homepage and owner is an opaque ID; if provenance matters, prefer a well-known/verified source or ask the publisher for more details.
能力评估
Purpose & Capability
Name/description promise Playwright-based browser automation and the included scripts (init, screenshot, scrape, extract, interact, cdp) implement that. No unrelated credentials or config paths are requested. The skill does require Playwright and browser binaries (documented in SKILL.md) even though the registry metadata lists no required binaries — a minor metadata mismatch but not inconsistent with purpose.
Instruction Scope
SKILL.md and scripts keep to browser automation tasks (navigation, screenshot, scraping, form interaction). However the code exposes an 'eval' command that runs arbitrary JS in the page context, and the references include 'stealth' techniques (removing navigator.webdriver and special browser args) intended to evade anti-bot checks. Examples also show filling login forms (i.e., handling secrets). These are legitimate for an automation tool but expand the blast radius if misused — arbitrary JS + form-filling can be used to exfiltrate or trigger actions on authenticated sites.
Install Mechanism
There is no automated install spec (instruction-only), which minimizes installer risk. The SKILL.md and init.py require that Playwright be installed (pip install playwright && playwright install chromium). No downloads from untrusted URLs or archived extracts are present in the package.
Credentials
The package does not request environment variables, secrets, or unrelated credentials. The scripts operate using the runtime environment and browser automation only. The examples' use of passwords is illustrative and not a declared secret requirement — users must take care not to pass real credentials to the tool unless intended.
Persistence & Privilege
always:false and user-invocable defaults are in place. The skill does not attempt to modify other skills or global agent configuration and does not request permanent presence or elevated platform privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install dex-browser
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /dex-browser 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v2.0.0
**Major 2.0.0 update: Switched to a multi-script structure with improved clarity and broader automation commands.** - Broke monolithic script into separate scripts: `screenshot.py`, `scrape.py`, `extract.py`, `interact.py`, and `init.py` - Added reference documentation: `selectors.md` (CSS selector tips) and `patterns.md` (automation patterns/troubleshooting) - Enhanced documentation: clearer layering, usage conditions, expanded examples, quick command table, and error codes - Added initial setup check script (`init.py`) for verifying Playwright installation - Broadened automation: support for click, fill, hover, and expanded structured data extraction (up to 50 items with more properties) - Improved guidance on when and how to use the skill in relation to other web tools
v1.0.0
Initial release of browser-automation skill. - Enables web scraping and UI automation with Playwright, including support for JS-rendered pages and screenshots. - Provides CLI commands for navigation, extracting HTML or structured data, taking screenshots, clicking, filling forms, and running JS. - Designed as the "interact" layer after search and extract skills, ideal for pages requiring interaction or dynamic content. - Includes workflows for common automation tasks (login flows, scraping, screenshots). - Detailed usage tips and anti-patterns to guide responsible and efficient automation.
元数据
Slug dex-browser
版本 2.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Dexter Browser Automation 是什么?

Browser automation via Playwright. Use when pages are JS-rendered, require user interaction (click/fill), or need screenshots. Part of the 3-layer web tool h... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 84 次。

如何安装 Dexter Browser Automation?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install dex-browser」即可一键安装,无需额外配置。

Dexter Browser Automation 是免费的吗?

是的,Dexter Browser Automation 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Dexter Browser Automation 支持哪些平台?

Dexter Browser Automation 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Dexter Browser Automation?

由 Tyler(@tylerdotai)开发并维护,当前版本 v2.0.0。

💬 留言讨论