This package provides CLI interface into Playwright. If you are using coding agents, that is the best fit.
- CLI: Modern coding agents increasingly favor CLI–based workflows exposed as SKILLs over MCP because CLI invocations are more token-efficient: they avoid loading large tool schemas and v...
- MCP: MCP remains relevant for specialized agentic loops that benefit from persistent state, rich introspection, and iterative reasoning over page structure, such as exploratory automation, s...
CLI 的好处:把操作“外包”为技能命令,代理只需读取 --help 输出,就能组合执行;不用加载大而细的工具 schema,也不必把页面 DOM 塞进 LLM,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 check e35 playwright-cli screenshot
open --headed:可视化运行,便于人机协作与调试
type + press Enter:模拟输入与按键
check:勾选元素(e21、e35 来自页面快照的元素引用)
screenshot:保存页面或元素截图
Headed/Headless 切换:可视化调试更顺手
1
playwright-cli open https://playwright.dev --headed
默认 headless
--headed 在调试时更方便观察与定位
会话管理:多项目多浏览器“持久态”切换
Playwright CLI 默认使用持久 profile,会话之间的 Cookies 与存储会保留。你可以用 --session 快速区分不同项目的浏览器实例。
打开两个会话并列运行
1 2 3
playwright-cli open https://playwright.dev playwright-cli --session=example open https://example.com playwright-cli session-list
用环境变量指定代理会话
1
PLAYWRIGHT_CLI_SESSION=todo-app claude .
常用会话命令
1 2 3 4 5
playwright-cli session-list # list all sessions playwright-cli session-stop [name] # stop session playwright-cli session-restart [name] # restart session playwright-cli session-stop-all # stop all sessions playwright-cli session-delete [name] # delete session data along with the profiles
playwright-cli open <url> # open url playwright-cli close # close the page playwright-cli type <text> # type text into editable element playwright-cli click <ref> [button] # perform click on a web page playwright-cli dblclick <ref> [button] # perform double click on a web page playwright-cli fill <ref> <text> # fill text into editable element playwright-cli drag <startRef> <endRef> # perform drag and drop between two elements playwright-cli hover <ref> # hover over element on page playwright-cli select <ref> <val> # select an option in a dropdown playwright-cli upload <file> # upload one or multiple files playwright-cli check <ref> # check a checkbox or radio button playwright-cli uncheck <ref> # uncheck a checkbox or radio button playwright-cli snapshot # capture page snapshot to obtain element ref playwright-cli eval <func> [ref] # evaluate javascript expression on page or element playwright-cli dialog-accept [prompt] # accept a dialog playwright-cli dialog-dismiss # dismiss a dialog playwright-cli resize <w> <h> # resize the browser window
导航与键鼠
1 2 3 4 5 6 7
playwright-cli go-back # go back to the previous page playwright-cli go-forward # go forward to the next page playwright-cli reload # reload the current page
playwright-cli press <key> # press a key on the keyboard, `a`, `arrowleft` playwright-cli keydown <key> # press a key down on the keyboard playwright-cli keyup <key> # press a key up on the keyboard
截图与 PDF
1 2
playwright-cli screenshot [ref] # screenshot of the current page or element playwright-cli pdf # save page as pdf
标签页管理
1 2 3 4
playwright-cli tab-list # list all tabs playwright-cli tab-new [url] # create a new tab playwright-cli tab-close [index] # close a browser tab playwright-cli tab-select <index> # select a browser tab
playwright-cli state-save [filename] # save storage state playwright-cli state-load <filename> # load storage state
# Cookies playwright-cli cookie-list [--domain] # list cookies playwright-cli cookie-get <name> # get a cookie playwright-cli cookie-set <name> <val> # set a cookie playwright-cli cookie-delete <name> # delete a cookie playwright-cli cookie-clear # clear all cookies
# LocalStorage playwright-cli localstorage-list # list localStorage entries playwright-cli localstorage-get <key> # get localStorage value playwright-cli localstorage-set <k> <v> # set localStorage value playwright-cli localstorage-delete <k> # delete localStorage entry playwright-cli localstorage-clear # clear all localStorage
# SessionStorage playwright-cli sessionstorage-list # list sessionStorage entries playwright-cli sessionstorage-get <k> # get sessionStorage value playwright-cli sessionstorage-set <k> <v> # set sessionStorage value playwright-cli sessionstorage-delete <k> # delete sessionStorage entry playwright-cli sessionstorage-clear # clear all sessionStorage
DevTools 与追踪
1 2 3 4 5 6 7
playwright-cli console [min-level] # list console messages playwright-cli network # list all network requests since loading the page playwright-cli run-code <code> # run playwright code snippet playwright-cli tracing-start # start trace recording playwright-cli tracing-stop # stop trace recording playwright-cli video-start # start video recording playwright-cli video-stop [filename] # stop video recording