编写、调试与调优 Playwright 测试,涵盖定位器策略、追踪诊断与 CI 友好的超时配置。
浏览器
Playwright MCP
试用Run browser automation through @playwright/mcp over UXC stdio MCP, with daemon-friendly session reuse and safe action guardrails. Use when tasks need determi...
它能做什么
Run browser automation through @playwright/mcp over UXC stdio MCP, with daemon-friendly session reuse and safe action guardrails. Use when tasks need determi...
技能文档
Playwright MCP Skill
Use this skill to run Playwright MCP operations through uxc using fixed stdio endpoints.
Reuse the uxc skill for generic protocol discovery, auth/error handling, and envelope parsing rules.
Prerequisites
uxcis installed and available inPATH.npxis available inPATH(Node.js installed).- Network access for first-time
@playwright/mcppackage fetch. - Browser runtime can start locally (headless mode is default in this skill).
Core Workflow (Playwright-Specific)
Endpoint candidate inputs before finalizing:
- Raw package form from docs:
npx @playwright/mcp@latest - Reliable non-interactive form:
npx -y @playwright/mcp@latest - Isolated/headless stable form (default for this skill):
npx -y @playwright/mcp@latest --headless --isolated- Shared-profile headless form (for persistent login state):
npx -y @playwright/mcp@latest --headless --user-data-dir ~/.uxc/playwright-profile- Shared-profile headed form (for interactive debug with same login state):
npx -y @playwright/mcp@latest --user-data-dir ~/.uxc/playwright-profile
- Verify protocol/path from official source and probe:
- Official source:
https://github.com/microsoft/playwright-mcp - probe candidate endpoints with:
uxc "npx -y @playwright/mcp@latest --headless --isolated" -h
- Confirm protocol is MCP stdio (
protocol == "mcp"in envelope).
- Official source:
- Detect auth requirement explicitly:
- Run host help or a minimal read call and inspect envelope.
@playwright/mcpdefault flow is no OAuth/API key for local stdio use.
- Use fixed link command by default:
command -v playwright-mcp-cli- If missing, create it:
uxc link playwright-mcp-cli "npx -y @playwright/mcp@latest --headless --isolated"
- Optional shared-profile dual command setup for persistent sessions:
command -v playwright-mcp-headlesscommand -v playwright-mcp-uiuxc link --daemon-exclusive ~/.uxc/playwright-profile playwright-mcp-headless "npx -y @playwright/mcp@latest --headless --user-data-dir ~/.uxc/playwright-profile"uxc link --daemon-exclusive ~/.uxc/playwright-profile playwright-mcp-ui "npx -y @playwright/mcp@latest --user-data-dir ~/.uxc/playwright-profile"
playwright-mcp-cli -h- If command conflict is detected and cannot be safely reused, stop and ask skill maintainers to pick another fixed command name.
- Inspect operation schema before execution:
playwright-mcp-cli browser_navigate -hplaywright-mcp-cli browser_snapshot -hplaywright-mcp-cli browser_click -h
- Prefer read-first interaction:
- Start with navigation/snapshot before mutating page state.
- Execute actions with explicit confirmation when impact is high:
- Confirm before form submission, checkout, delete/destructive actions, or irreversible multi-step flows.
Guardrails
- Keep automation on JSON output envelope; do not rely on
--text. - Parse stable fields first:
ok,kind,protocol,data,error. - Use
playwright-mcp-clias default command path. playwright-mcp-cli ...is equivalent touxc "npx -y @playwright/mcp@latest --headless --isolated" ....- Use direct
uxc "" ...only as temporary fallback when link setup is unavailable. - If browser profile conflict appears, keep
--isolatedin endpoint and retry via the same fixed link command. - When using shared
--user-data-dir, run headless/headed links serially (not concurrently). - To enable seamless switching between headed UI login and headless CLI automation using the same profile directory, set a daemon exclusive key:
- Prefer link-level setup (recommended above), or set
UXC_DAEMON_EXCLUSIVE=~/.uxc/playwright-profilefor ad-hoc runs. - If the profile is still busy (another session is actively running), fallback:
uxc daemon stop
- Prefer link-level setup (recommended above), or set
- Prefer
browser_snapshotover screenshots for model-action loops.
References
- Invocation patterns:
references/usage-patterns.md
相关技能
Browser automation fallback through the magicbrowse CLI with goal-driven act as the default primitive and observe/primitives only for recovery, with changed page state verified by fresh observation.
通过 Playwright 自动化 George(奥地利 Erste / Sparkasse)网银,导出账户、交易、SEPA 文件等 JSON 数据。
Cheap first-pass web discovery without launching Chrome — fetch SSR pages, run bounded JS, find routes/forms/API endpoints, extract structured data, and detect bot-wall or browser-only escalation points.
用 CLI 驱动浏览器,凭稳定元素引用以省 token 的方式跑自动化。
Revolut web automation via Playwright: login/logout, list accounts, and fetch transactions.