通过 Playwright MCP 实现浏览器自动化。导航网站、点击元素、填写表单、截取屏幕截图、提取数据以及调试真实浏览器工作流程。使用 w...
何时使用 : 使用此技能执行真实浏览器任务 : JS 已发送页面,多步形式,截图或 PDF , UI 调试, Playwright 测试作者, MCP 驱动浏览是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
在执行真实浏览器任务时使用该技能:JS 渲染页面、多步骤表单、截图或生成 PDF、UI 调试、Playwright 测试编写、MCP 驱动的浏览器控制,以及从已渲染页面中进行结构化数据提取。
当静态 fetch 无法满足需求,或任务依赖于浏览器事件、可见 DOM 状态、认证上下文、上传/下载行为、或面向用户的内容渲染时,优先选用本技能。
若用户主要希望智能体通过简单操作(如 navigate、click、fill、screenshot、download 或 extract)来驱动浏览器,请将 MCP 视为首选路径。
编写脚本和测试时请直接使用 Playwright;当浏览器工具已集成至当前工作流、用户明确要求使用 MCP,或浏览器操作比编写新自动化代码更快捷时,则选用 MCP。
本技能的核心适用场景是仓库自有(repo-owned)的浏览器相关工作:测试、调试、问题复现、截图及确定性自动化。将“已渲染页面的数据提取”视为次要用例,而非默认定位。
该技能仅接受指令,不默认创建本地内存、不自动建立文件夹结构、也不持久化浏览器配置文件。
仅加载完成任务所需的最小参考文件。除非仓库已有标准化的认证状态管理机制,且用户明确要求复用浏览器会话,否则应保持认证状态为临时性。
npx @playwright/mcp --headless
当智能体已具备可用的浏览器工具,或用户希望实现浏览器自动化而无需编写新的 Playwright 代码时,采用此路径。
典型的 Playwright MCP 工具操作包括:
browser_navigate:打开页面browser_click 和 browser_press:交互操作browser_type 和 browser_select_option:表单输入与选项选择browser_snapshot 和 browser_evaluate:页面检查与数据提取browser_choose_file:文件上传| 目标 | 典型 MCP 风格操作 |
|---|---|
| 打开并检查一个网站 | navigate、wait、inspect、screenshot |
| 完成一个表单 | navigate、click、fill、select、submit |
| 采集证据 | screenshot、PDF、download、trace |
| 提取结构化页面数据 | navigate、等待渲染完成、extract |
| 复现 UI 缺陷 | headed 运行、trace、控制台或网络检查 |
npx playwright test npx playwright test --headed npx playwright test --trace on
npx playwright codegen https://example.com
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({ path: 'page.png', fullPage: true });
await browser.close();
})();
| 主题 | 文件 |
|---|---|
| 选择器策略与 iframe 处理 | selectors.md |
| 失败分析、trace、日志与 headed 运行 | debugging.md |
| 测试架构、Mock、认证与断言 | testing.md |
| CI 默认配置、重试机制、Worker 并行与失败产物 | ci-cd.md |
| 已渲染页面的数据提取、分页处理与尊重式限速 | scraping.md |
| 场景 | 推荐路径 | 原因 |
|---|---|---|
| 静态 HTML 或简单 HTTP 响应已足够 | 优先使用更轻量的 fetch 路径 | 更快、成本更低、更稳定 |
| 需要可靠的选择器或操作流程初稿 | 从 codegen 或 headed 探索式运行起步 |
比从源码或过期 DOM 中猜测选择器更快 |
| 本地应用、预发布环境应用或仓库自有 E2E 测试套件 | 使用 @playwright/test |
最适合可重复执行的测试与断言 |
| 一次性浏览器自动化、截图、下载或已渲染内容提取 | 直接使用 Playwright API | 简洁、明确、便于在代码中调试 |
智能体/浏览器工具工作流已依赖 browser_* 工具,或用户明确要求无代码浏览器控制 |
使用 Playwright MCP | 对 navigate-click-fill-screenshot 类工作流最快捷 |
| CI 失败、不稳定(flake)或环境漂移 | 从 debugging.md 和 ci-cd.md 入手 |
trace 与产物的价值高于新增代码 |
codegen、headed 模式或 trace 来发现稳定定位符,而非基于源码或过期 DOM 猜测。first()、last() 或 nth() 来压制严格性警告。expect、URL 等待、响应等待及显式的应用就绪信号。first()、last()、nth() 抑制歧义警告 → 自动化仅能成功一次,随后即出现不稳定(flake)。force: true → 测试掩盖了真实缺陷。networkidle 等待 → 分析埋点、轮询请求或 WebSocket 连接会使页面持续处于“忙碌”状态,即使 UI 已准备就绪。| 端点 | 发送的数据 | 用途 |
|---|---|---|
| 用户指定的 Web 域名 | 浏览器请求、表单输入、Cookie、上传文件及页面交互等任务必需数据 | 自动化、测试、截图、PDF 生成与已渲染内容提取 |
https://registry.npmjs.org |
可选安装过程中传输的包元数据与 tarball 文件 | 安装 Playwright 或 Playwright MCP 工具 |
除此之外,不向任何其他外部服务发送数据。
离开您设备的数据:
保留在本地的数据:
本技能不会:
使用本技能时,浏览器请求将发送至您所指定的自动化目标网站,可选的包下载则经由 npm 完成。仅当您信任这些服务及工作流中涉及的网站时,才应安装并使用本技能。
若用户确认,可通过 clawhub install 安装以下技能:
web —— 在升级至真实浏览器前,优先采用 HTTP 方式开展初步调查。scrape —— 当浏览器自动化并非主要挑战时,适用于更广泛的提取类工作流。screenshots —— 浏览器操作完成后,用于捕获并优化视觉产物。multi-engine-web-search —— 在自动化前,用于查找并筛选目标页面。clawhub star playwrightclawhub sync相关专题
热门下载
相关下载
精品课程
共6课时 | 54.6万人学习
共89课时 | 133.4万人学习
共49课时 | 82.2万人学习