Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

fastplaywrightfastplaywright 搜索

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

15,201

周安装

609

GitHub Stars

公开资料未说明

下载量

4,921
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install fastplaywright

简介

高性能浏览器自动化框架,优化令牌使用与元素定位效率。

  • 适用于大规模网页抓取、竞品分析或跨浏览器兼容性测试。
  • 支持智能重试与差异检测机制提升断言可靠性。fastplaywright 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 运行时会启动真实浏览器实例,请确保系统具备图形界面支持。
  • 遵守目标网站 robots.txt 规则,避免高频请求导致 IP 封禁。

SKILL.md

name
fastplaywright
description
High-performance browser automation with Fast Playwright MCP. Features token-optimized batch execution, intelligent element selection with fallback, diff detection for change tracking, and comprehensive diagnostics. Use for web testing, form automation, screenshots, navigation flows, and any browser-based task requiring efficient token usage.

Fast Playwright MCP

High-performance browser automation skill using the Fast Playwright MCP server (@tontoko/fast-playwright-mcp). This fork of the Microsoft Playwright MCP provides significant token optimization, batch execution, and enhanced element discovery.

Key Advantages Over Standard Playwright MCP

FeatureBenefit
Token Optimization70-80% reduction via expectation parameter
Batch Execution90% token savings for multi-step workflows
Diff DetectionTrack only changes, not full snapshots
Enhanced SelectorsMultiple selector types with automatic fallback
Diagnostic ToolsAdvanced debugging and element discovery
Image CompressionJPEG format, quality control, resizing

MCP Configuration

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@tontoko/fast-playwright-mcp@latest"]
    }
  }
}

Critical Workflow

Follow these steps in order for optimal results:

1. Navigate First

Use browser_navigate to load the target page before any other operations.

2. Use Batch Execution for Multi-Step Tasks

For 2+ operations, ALWAYS use browser_batch_execute instead of individual tool calls.

3. Optimize Token Usage

Apply expectation parameters to reduce response size.

4. Use Diff Detection for State Changes

Enable diffOptions when tracking changes without navigation.

Token Optimization

The Expectation Parameter

All browser tools support an expectation parameter to control response content:

{
  "includeSnapshot": false,    // 70-80% token reduction
  "includeConsole": false,      // Exclude console messages
  "includeTabs": false,         // Hide tab information
  "includeCode": false,         // Suppress code generation
  "includeDownloads": false     // Exclude download info
}

Snapshot Options

Limit snapshot content for focused analysis:

{
  "snapshotOptions": {
    "selector": ".main-content",  // Capture specific section only
    "maxLength": 2000,            // Limit character count
    "format": "aria"              // Use accessibility tree format
  }
}

Diff Detection

Track only changes between operations:

{
  "diffOptions": {
    "enabled": true,
    "format": "minimal",      // Options: unified, split, minimal
    "threshold": 0.1,
    "maxDiffLines": 50,
    "context": 3
  }
}

Enhanced Selector System

Selector Types (Priority Order)

  1. ref - System-generated element ID from previous results (highest priority)
  2. css - Standard CSS selectors (#id, .class, tag)
  3. role - ARIA roles with optional text (button, textbox, etc.)
  4. text - Text content search with optional tag filter

Selector Arrays with Fallback

All element-based tools accept multiple selectors with automatic fallback:

{
  "selectors": [
    { "css": "#submit-btn" },
    { "role": "button", "text": "Submit" },
    { "text": "Submit", "tag": "button" }
  ]
}

Selectors are tried in order until one succeeds. If multiple elements match, returns a candidate list for selection.

Batch Execution

Basic Pattern

Execute multiple operations in a single request:

{
  "tool": "browser_batch_execute",
  "arguments": {
    "steps": [
      { "tool": "browser_navigate", "arguments": { "url": "https://example.com/login" } },
      { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#username" }], "text": "user@example.com" } },
      { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#password" }], "text": "password123" } },
      { "tool": "browser_click", "arguments": { "selectors": [{ "role": "button", "text": "Login" }] } }
    ]
  }
}

Advanced Configuration

{
  "tool": "browser_batch_execute",
  "arguments": {
    "steps": [
      {
        "tool": "browser_navigate",
        "arguments": { "url": "https://example.com" },
        "expectation": { "includeSnapshot": false },
        "continueOnError": true
      },
      {
        "tool": "browser_click",
        "arguments": { "selectors": [{ "css": "#submit" }] },
        "expectation": {
          "includeSnapshot": true,
          "snapshotOptions": { "selector": ".result-area" },
          "diffOptions": { "enabled": true, "format": "minimal" }
        }
      }
    ],
    "stopOnFirstError": false,
    "globalExpectation": {
      "includeConsole": false,
      "includeTabs": false
    }
  }
}

Error Handling Options

  • continueOnError (per-step): Continue even if this step fails
  • stopOnFirstError (global): Stop entire batch on first error

Common Patterns

Navigate and Screenshot

{
  "tool": "browser_batch_execute",
  "arguments": {
    "steps": [
      { "tool": "browser_navigate", "arguments": { "url": "https://example.com" } },
      {
        "tool": "browser_take_screenshot",
        "arguments": {
          "filename": "homepage.png",
          "fullPage": true,
          "expectation": { "includeSnapshot": false }
        }
      }
    ]
  }
}

Form Filling with Submission

{
  "tool": "browser_batch_execute",
  "arguments": {
    "steps": [
      { "tool": "browser_navigate", "arguments": { "url": "https://example.com/contact" } },
      { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#name" }], "text": "John Doe" } },
      { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#email" }], "text": "john@example.com" } },
      { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#message" }], "text": "Hello World" } },
      { "tool": "browser_click", "arguments": { "selectors": [{ "role": "button", "text": "Send" }] } }
    ],
    "globalExpectation": { "includeSnapshot": false }
  }
}

Responsive Design Testing

{
  "tool": "browser_batch_execute",
  "arguments": {
    "steps": [
      { "tool": "browser_navigate", "arguments": { "url": "https://example.com" } },
      { "tool": "browser_resize", "arguments": { "width": 1920, "height": 1080 } },
      { "tool": "browser_take_screenshot", "arguments": { "filename": "desktop.png" } },
      { "tool": "browser_resize", "arguments": { "width": 768, "height": 1024 } },
      { "tool": "browser_take_screenshot", "arguments": { "filename": "tablet.png" } },
      { "tool": "browser_resize", "arguments": { "width": 375, "height": 667 } },
      { "tool": "browser_take_screenshot", "arguments": { "filename": "mobile.png" } }
    ]
  }
}

Login Flow with Verification

{
  "tool": "browser_batch_execute",
  "arguments": {
    "steps": [
      { "tool": "browser_navigate", "arguments": { "url": "https://example.com/login" } },
      { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#email" }], "text": "user@example.com" } },
      { "tool": "browser_type", "arguments": { "selectors": [{ "css": "#password" }], "text": "secret", "submit": true } },
      { "tool": "browser_wait_for", "arguments": { "text": "Dashboard" } }
    ],
    "globalExpectation": { "diffOptions": { "enabled": true } }
  }
}

Diagnostic Tools

Find Elements

Search for elements using multiple criteria:

{
  "tool": "browser_find_elements",
  "arguments": {
    "searchCriteria": {
      "text": "Submit",
      "role": "button"
    },
    "maxResults": 5,
    "enableEnhancedDiscovery": true
  }
}

Page Diagnostics

Comprehensive page analysis:

{
  "tool": "browser_diagnose",
  "arguments": {
    "diagnosticLevel": "detailed",
    "includePerformanceMetrics": true,
    "includeAccessibilityInfo": true,
    "includeTroubleshootingSuggestions": true
  }
}

Diagnostic levels: none, basic, standard, detailed, full

HTML Inspection

Extract and analyze HTML content:

{
  "tool": "browser_inspect_html",
  "arguments": {
    "selectors": [{ "css": ".content" }],
    "depth": 3,
    "maxSize": 50000,
    "format": "html",
    "optimizeForLLM": true
  }
}

Image Optimization

Compressed Screenshots

{
  "tool": "browser_take_screenshot",
  "arguments": {
    "filename": "screenshot.jpg",
    "type": "jpeg",
    "expectation": {
      "imageOptions": {
        "format": "jpeg",
        "quality": 50,
        "maxWidth": 1280
      }
    }
  }
}

Network Request Filtering

Monitor specific network activity:

{
  "tool": "browser_network_requests",
  "arguments": {
    "urlPatterns": ["/api/"],
    "excludeUrlPatterns": ["analytics", "tracking"],
    "methods": ["GET", "POST"],
    "statusRanges": [{ "min": 200, "max": 299 }],
    "maxRequests": 10,
    "newestFirst": true
  }
}

Tab Management

Multi-Tab Workflow

{
  "tool": "browser_batch_execute",
  "arguments": {
    "steps": [
      { "tool": "browser_tab_new", "arguments": { "url": "https://example.com" } },
      { "tool": "browser_tab_list", "arguments": {} },
      { "tool": "browser_tab_select", "arguments": { "index": 0 } },
      { "tool": "browser_tab_close", "arguments": { "index": 1 } }
    ]
  }
}

Wait Strategies

Wait for Text

{ "tool": "browser_wait_for", "arguments": { "text": "Loading complete" } }

Wait for Text to Disappear

{ "tool": "browser_wait_for", "arguments": { "textGone": "Loading..." } }

Wait for Time

{ "tool": "browser_wait_for", "arguments": { "time": 2 } }

Console Monitoring

Filter Console Messages

{
  "tool": "browser_console_messages",
  "arguments": {
    "consoleOptions": {
      "levels": ["error", "warn"],
      "maxMessages": 10,
      "patterns": ["^Error:"],
      "removeDuplicates": true
    }
  }
}

JavaScript Evaluation

Page-Level Evaluation

{
  "tool": "browser_evaluate",
  "arguments": {
    "function": "() => document.title"
  }
}

Element-Level Evaluation

{
  "tool": "browser_evaluate",
  "arguments": {
    "selectors": [{ "css": "#counter" }],
    "function": "(element) => element.textContent"
  }
}

Dialog Handling

{
  "tool": "browser_handle_dialog",
  "arguments": {
    "accept": true,
    "promptText": "Optional prompt response"
  }
}

File Upload

{
  "tool": "browser_file_upload",
  "arguments": {
    "paths": ["/absolute/path/to/file.pdf"]
  }
}

Drag and Drop

{
  "tool": "browser_drag",
  "arguments": {
    "startSelectors": [{ "css": "#draggable" }],
    "endSelectors": [{ "css": "#dropzone" }]
  }
}

Select Options

{
  "tool": "browser_select_option",
  "arguments": {
    "selectors": [{ "css": "#country" }],
    "values": ["us", "de"]
  }
}

Keyboard Input

{
  "tool": "browser_press_key",
  "arguments": {
    "key": "Enter"
  }
}

Special keys: Enter, Tab, Escape, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Backspace, Delete, Home, End

Best Practices

Token Efficiency

  1. Use batch execution for 2+ operations
  2. Disable snapshots for intermediate steps
  3. Enable diff detection for state tracking
  4. Filter console messages to relevant levels
  5. Use selective snapshots with CSS selectors
  6. Compress images when quality is not critical

Selector Strategy

  1. Use ref from previous results when available
  2. Provide fallback selectors for robustness
  3. Prefer role-based selectors for accessibility
  4. Use CSS selectors for specific targeting
  5. Text selectors as last resort

Error Handling

  1. Use continueOnError for non-critical steps
  2. Set stopOnFirstError: false for best-effort execution
  3. Use diagnostic tools when automation fails
  4. Check console messages for JavaScript errors

Performance

  1. Minimize snapshot size with selectors
  2. Use minimal diff format for change tracking
  3. Filter network requests to relevant patterns
  4. Batch related operations together

Troubleshooting

Element Not Found

  1. Use browser_find_elements to discover alternatives
  2. Run browser_diagnose for page analysis
  3. Check for iframes or shadow DOM
  4. Verify page has finished loading

Timeout Issues

  1. Use browser_wait_for with specific conditions
  2. Increase wait time for slow pages
  3. Check network requests for blocked resources

Token Overflow

  1. Enable includeSnapshot: false
  2. Use snapshotOptions.selector to limit scope
  3. Enable diffOptions.enabled: true
  4. Reduce maxRequests in network filtering

Tool Reference

Core Automation

  • browser_navigate - Navigate to URL
  • browser_click - Click element
  • browser_type - Type text
  • browser_hover - Hover over element
  • browser_drag - Drag and drop
  • browser_select_option - Select dropdown option
  • browser_press_key - Press keyboard key
  • browser_file_upload - Upload files
  • browser_evaluate - Execute JavaScript
  • browser_wait_for - Wait for condition

Batch Operations

  • browser_batch_execute - Execute multiple actions

Information Gathering

  • browser_snapshot - Capture accessibility snapshot
  • browser_take_screenshot - Take screenshot
  • browser_console_messages - Get console output
  • browser_network_requests - List network requests
  • browser_find_elements - Find elements by criteria
  • browser_diagnose - Page diagnostics
  • browser_inspect_html - HTML content extraction

Tab Management

  • browser_tab_list - List all tabs
  • browser_tab_new - Open new tab
  • browser_tab_select - Switch to tab
  • browser_tab_close - Close tab

Navigation

  • browser_navigate_back - Go back
  • browser_navigate_forward - Go forward

Browser Control

  • browser_resize - Resize window
  • browser_close - Close browser
  • browser_install - Install browser
  • browser_handle_dialog - Handle alerts/confirms

Vision (requires --caps=vision)

  • browser_mouse_click_xy - Click at coordinates
  • browser_mouse_move_xy - Move mouse to coordinates
  • browser_mouse_drag_xy - Drag between coordinates

PDF (requires --caps=pdf)

  • browser_pdf_save - Save page as PDF

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

94.99%
按下载量换算4,674

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

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

来源信息

继续浏览同类 Skills