跳转到主要内容

Playwright CLI

专为编程智能体(Coding Agents)设计的浏览器自动化命令行接口。通过节省 Token 的命令和可安装的技能,让智能体能够在有限的上下文窗口内,平衡浏览器自动化操作与处理大型代码库及推理任务。

示例

$ playwright-cli open https://demo.playwright.dev/todomvc --headed
$ playwright-cli type "Buy groceries"
$ playwright-cli press Enter
$ playwright-cli type "Water flowers"
$ playwright-cli press Enter
$ playwright-cli check e21
$ playwright-cli screenshot

在执行每条命令后,CLI 会输出当前的页面状态

### Page
- Page URL: https://demo.playwright.dev/todomvc/#/
- Page Title: React - TodoMVC
### Snapshot
[Snapshot](.playwright-cli/page-2026-02-14T19-22-42-679Z.yml)

快照文件中包含带有元素引用的辅助功能树,供后续命令使用。

核心功能

  • 节省 Token — 简洁的 CLI 输出,避免将庞大的工具架构(schema)加载到模型上下文中
  • 技能导向 — 智能体通过可安装的“技能”而非冗长的帮助文本来发现功能
  • 守护进程架构 — 持久化的浏览器进程意味着无需为每条命令承担启动开销
  • 基于引用 — 带有元素引用的辅助功能快照,支持确定性交互
  • 跨浏览器 — 支持 Chrome、Firefox、WebKit 和 Edge
  • 会话 — 支持多个隔离的浏览器实例,并分别维护各自的状态

Playwright CLI 与 MCP 对比

Playwright CLIMCP
最佳适用场景处理大型代码库的编程智能体(如 Claude Code, Copilot)专业化的智能体循环、探索性自动化
工作原理智能体运行 Shell 命令LLM 使用结构化参数调用 MCP 工具
Token 成本较低 — 简洁的 CLI 输出,按需加载技能较高 — 上下文中包含工具架构 + 快照
默认模式无头模式(Headless)有头模式(Headed)
安装设置npm install -g @playwright/cliMCP 客户端中的 JSON 配置

所有命令

核心

open [url] goto <url> close
click <ref> dblclick <ref> fill <ref> <text>
type <text> select <ref> <val> check <ref>
uncheck <ref> hover <ref> drag <start> <end>
upload <file> snapshot screenshot [ref]
pdf eval <func> [ref] resize <w> <h>
dialog-accept [prompt] dialog-dismiss
go-back go-forward reload

键盘与鼠标

press <key> keydown <key> keyup <key>
mousemove <x> <y> mousedown [btn] mouseup [btn]
mousewheel <dx> <dy>

标签页

tab-list tab-new [url] tab-select <idx>
tab-close [idx]

存储

state-save [file] state-load <file>
cookie-list [--domain] cookie-get <name> cookie-set <name> <val>
cookie-delete <name> cookie-clear
localstorage-list localstorage-get <key> localstorage-set <k> <v>
localstorage-delete <key> localstorage-clear
sessionstorage-list sessionstorage-get <key> sessionstorage-set <k> <v>
sessionstorage-delete <k> sessionstorage-clear

网络

network route <pattern> [opts] route-list
unroute [pattern]

开发工具

console [min-level] run-code <code> tracing-start
tracing-stop video-start [file] video-chapter <title>
video-stop show

会话

-s=<name> <cmd> list close-all
kill-all delete-data

配置

open --headed open --browser=firefox open --persistent
open --profile=<path> open --config=file.json attach --extension
install --skills config-print