playwright-browser-skill

playwright-browser-skill

Provides 101 browser automation operations via Playwright, including navigation, interaction, content extraction, network control, and more, integrated with OpenClaw through the MCP protocol.

Category
Visit Server

README

Playwright Browser Skill for OpenClaw

一个功能强大的浏览器自动化技能,基于 Playwright 构建,通过 MCP 协议为 OpenClaw 提供 101 个完整的浏览器操作能力。

Windows Node.js Playwright License

中文文档 | English

✨ 特性

  • 🌐 完整的浏览器控制 - 支持 Chromium、Firefox、WebKit
  • 📱 设备模拟 - 模拟 iPhone、Android 等移动设备
  • 🎯 智能选择器 - CSS、ARIA、文本、标签等多种选择方式
  • 📸 截图和录制 - 页面截图、元素截图、PDF生成、视频录制
  • 🌍 网络控制 - 请求拦截、响应模拟、离线模式
  • 🔍 内容提取 - 文本、HTML、链接、属性等
  • ⚡ 性能监控 - 页面性能指标、控制台日志
  • 🎨 高级功能 - Cookie管理、LocalStorage、地理位置、时间控制

📦 安装

前置要求

  • Node.js 18 或更高版本
  • npm 或 yarn
  • Windows 10/11, macOS, 或 Linux

安装方式

方式一:下载发行版(推荐,适合普通用户)

最简单的安装方式! 下载预编译的独立包,无需构建,开箱即用。

Windows 用户:

  1. 下载 playwright-browser-skill-windows-v2.1.0.zip
  2. 解压到任意目录
  3. 双击运行 auto-deploy.cmd(推荐)或 auto-deploy.ps1
  4. 重启 OpenClaw,开始使用!

注意: 推荐使用 .cmd 文件,大部分 Windows 电脑默认禁止运行 PowerShell 脚本。

Mac/Linux 用户:

  1. 下载 playwright-browser-skill-macos-linux-v2.1.0.tar.gz
  2. 解压:tar -xzf playwright-browser-skill-macos-linux-v2.1.0.tar.gz
  3. 进入目录并运行:chmod +x auto-deploy.sh && ./auto-deploy.sh
  4. 重启 OpenClaw,开始使用!

发行版优势:

  • ✅ 无需 npm install,节省时间
  • ✅ 无需构建,开箱即用
  • ✅ 包含完整依赖,离线可用
  • ✅ 一键自动部署
  • ✅ 适合非开发者用户

方式二:从源码安装(适合开发者)

# 克隆仓库
git clone https://github.com/91fapiao-cn/playwright-browser-skill.git
cd playwright-browser-skill

# 安装依赖
npm install

# 安装浏览器驱动
npm run install-browsers

# 构建项目
npm run build

🚀 使用方法

一键自动部署(推荐)

我们提供了跨平台的自动部署脚本,支持中英文版本,可以自动检测 OpenClaw 配置路径并完成所有配置:

Windows (PowerShell) - 推荐

# 中文版
.\auto-deploy.ps1

# 英文版
.\auto-deploy-en.ps1

# 跳过构建(如果已构建)
.\auto-deploy.ps1 -SkipBuild

# 指定自定义路径
.\auto-deploy.ps1 -OpenClawPath "C:\custom\path\.openclaw"

Windows (CMD)

REM 中文版
auto-deploy.cmd

REM 英文版
auto-deploy-en.cmd

REM 跳过构建
auto-deploy.cmd --skip-build

REM 指定自定义路径
auto-deploy.cmd --openclaw-path "C:\custom\path\.openclaw"

Mac/Linux

# 添加执行权限(首次使用)
chmod +x auto-deploy.sh auto-deploy-en.sh

# 中文版
./auto-deploy.sh

# 英文版
./auto-deploy-en.sh

# 跳过构建
./auto-deploy.sh --skip-build

# 指定自定义路径
./auto-deploy.sh --openclaw-path "/custom/path/.openclaw"

自动部署功能:

  • ✅ 自动检测 OpenClaw 配置路径
  • ✅ 自动构建项目(可选跳过)
  • ✅ 自动部署 Skill 文件
  • ✅ 自动配置 MCP 服务器
  • ✅ 自动备份现有配置
  • ✅ 支持自定义安装路径

📖 查看详细部署文档

手动部署

如果需要手动部署,请参考以下步骤:

1. 部署 Skill 文件

# Windows
copy skill-package\skills\SKILL.md %USERPROFILE%\.openclaw\skills\playwright-browser\

# macOS/Linux
cp skill-package/skills/SKILL.md ~/.openclaw/skills/playwright-browser-skill/

2. 配置 MCP 服务器

在 ~/.openclaw/settings/mcp.json 中添加:

{
  "mcpServers": {
    "playwright-browser": {
      "command": "node",
      "args": ["<项目路径>/dist/mcp-server.js"],
      "disabled": false,
      "autoApprove": ["browser_launch", "browser_goto", "browser_close"]
    }
  }
}

3. 重启 OpenClaw

重启 OpenClaw 以加载新的技能。

4. 在 OpenClaw 中启用技能

重启后,在 OpenClaw 对话中输入:

请使用 Playwright Browser Skill 技能来访问互联网和控制浏览器

或者直接测试:

使用 Playwright Browser Skill 启动浏览器并访问 example.com

这样 OpenClaw 就会知道使用这个技能来处理所有浏览器相关的任务。

📚 工具列表

浏览器管理 (8个)

  • browser_launch - 启动浏览器
  • browser_close - 关闭浏览器
  • browser_new_page - 创建新页面
  • browser_switch_page - 切换页面
  • 更多...

页面导航 (4个)

  • browser_goto - 导航到URL
  • browser_go_back - 返回上一页
  • browser_go_forward - 前进
  • browser_reload - 刷新页面

元素交互 (12个)

  • browser_click - 点击元素
  • browser_fill - 填写表单
  • browser_type - 输入文本
  • browser_select - 选择下拉框
  • 更多...

内容提取 (11个)

  • browser_get_text - 获取文本
  • browser_get_html - 获取HTML
  • browser_get_links - 获取链接
  • 更多...

查看完整工具列表

💡 使用示例

无头模式说明

浏览器支持两种运行模式:

有界面模式(headless: false) - 推荐用于调试和开发

browser_launch({ "headless": false })  // 显示浏览器窗口

无头模式(headless: true) - 推荐用于生产环境和自动化

browser_launch({ "headless": true })   // 后台运行,不显示窗口
// 或者省略参数,默认为无头模式
browser_launch()

无头模式优势:

  • ⚡ 更快的执行速度
  • 💾 更低的资源占用
  • 🔒 适合服务器环境
  • 🤖 适合批量自动化任务

基础网页访问

// 1. 启动浏览器(有界面模式,便于观察)
browser_launch({ "headless": false })

// 2. 访问网页
browser_goto({ "url": "https://example.com" })

// 3. 获取标题
browser_get_title()

// 4. 截图
browser_screenshot({ "path": "screenshot.png", "fullPage": true })

// 5. 关闭浏览器
browser_close()

无头模式自动化示例

// 无头模式运行,适合自动化任务
browser_launch({ "headless": true })
browser_goto({ "url": "https://example.com" })
browser_get_title()
browser_screenshot({ "path": "screenshot.png" })
browser_close()

表单填写

// 使用有界面模式便于调试
browser_launch({ "headless": false })
browser_goto({ "url": "https://example.com/login" })
browser_fill({ "selector": "#username", "value": "user@example.com" })
browser_fill({ "selector": "#password", "value": "password123" })
browser_click({ "selector": "button[type='submit']" })
browser_wait_for_selector({ "selector": ".dashboard" })
browser_close()

数据抓取

// 数据抓取推荐使用无头模式,速度更快
browser_launch({ "headless": true })
browser_goto({ "url": "https://example.com/products" })
browser_count({ "selector": ".product-item" })
browser_get_links()
browser_evaluate({ 
  "script": "Array.from(document.querySelectorAll('.price')).map(e => e.textContent)" 
})
browser_close()

查看更多示例

🧪 测试

# 运行所有测试
npm test

# 运行基础测试
npm run test:basic

# 运行高级测试
npm run test:advanced

# 运行交互测试
npm run test:interaction

# 运行MCP服务器测试
npm run test:mcp

📖 文档

🔧 开发

项目结构

playwright-browser-skill/
├── src/
│   ├── index.ts              # 核心功能实现
│   ├── mcp-server.ts         # MCP 服务器
│   └── tools-registry.ts     # 工具注册表
├── skill-package/
│   ├── skills/
│   │   └── SKILL.md  # 技能定义文件
│   └── settings/
│       └── mcp.json          # MCP 配置示例
├── test/                     # 测试文件
├── examples/                 # 示例代码
└── docs/                     # 文档

构建

# 开发模式(监听文件变化)
npm run dev

# 生产构建
npm run build

🌍 平台支持

平台 状态 说明
Windows 10/11 ✅ 完全支持 已测试
macOS ✅ 完全支持 理论支持
Linux ✅ 完全支持 理论支持

🤝 贡献

欢迎贡献!请查看 贡献指南。

📝 更新日志

v2.1.0 (2026)

  • 🚀 新增跨平台自动部署脚本
  • 🔍 自动检测 OpenClaw 配置路径
  • 💾 自动备份现有配置
  • 📦 支持自定义安装路径
  • 📚 完整的自动部署文档

v2.1.0 (2026)

  • ✨ 新增 13 个高级工具(从88个增加到101个)
  • 🎯 完善键盘鼠标控制(mouseDown, mouseUp, keyboardInsertText)
  • 🔍 增强选择器功能(getByAltText, getByTitle)
  • ⏱️ 完整时间控制(pauseClock, resumeClock)
  • 📊 代码覆盖率支持(getCoverage, stopCoverage)
  • 🌐 地理位置管理(clearGeolocation, touchscreenTap)
  • ⏳ 高级等待功能(waitForFunction, waitForLoadState)
  • 📈 总体覆盖率从69%提升到88%

v2.0.0 (2026)

  • ✨ 新增 88 个完整的浏览器操作工具
  • 📚 完整的中文文档
  • 🪟 Windows 平台完整支持
  • 🎯 智能选择器支持
  • 📸 截图和录制功能
  • 🌍 网络控制和模拟

v1.0.0

  • 🎉 初始版本

📄 许可证

MIT License - 详见 LICENSE 文件

🙏 致谢

📞 支持

⭐ Star History

如果这个项目对你有帮助,请给它一个 Star!


Made with ❤️ for OpenClaw Community

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured