playwright-cli
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBrowser Automation with playwright-cli
使用playwright-cli实现浏览器自动化
Quick start
快速开始
bash
undefinedbash
undefinedopen new browser
打开新浏览器
playwright-cli open
playwright-cli open
navigate to a page
导航到指定页面
playwright-cli goto https://playwright.dev
playwright-cli goto https://playwright.dev
interact with the page using refs from the snapshot
使用快照中的引用与页面交互
playwright-cli click e15
playwright-cli type "page.click"
playwright-cli press Enter
playwright-cli click e15
playwright-cli type "page.click"
playwright-cli press Enter
take a screenshot (rarely used, as snapshot is more common)
截取屏幕截图(很少使用,快照更常用)
playwright-cli screenshot
playwright-cli screenshot
close the browser
关闭浏览器
playwright-cli close
undefinedplaywright-cli close
undefinedCommands
命令列表
Core
核心命令
bash
playwright-cli openbash
playwright-cli openopen and navigate right away
打开浏览器并直接导航
playwright-cli open https://example.com/
playwright-cli goto https://playwright.dev
playwright-cli type "search query"
playwright-cli click e3
playwright-cli dblclick e7
playwright-cli open https://example.com/
playwright-cli goto https://playwright.dev
playwright-cli type "搜索查询"
playwright-cli click e3
playwright-cli dblclick e7
--submit presses Enter after filling the element
--submit 参数会在填充元素后按下回车键
playwright-cli fill e5 "user@example.com" --submit
playwright-cli drag e2 e8
playwright-cli hover e4
playwright-cli select e9 "option-value"
playwright-cli upload ./document.pdf
playwright-cli check e12
playwright-cli uncheck e12
playwright-cli snapshot
playwright-cli eval "document.title"
playwright-cli eval "el => el.textContent" e5
playwright-cli fill e5 "user@example.com" --submit
playwright-cli drag e2 e8
playwright-cli hover e4
playwright-cli select e9 "option-value"
playwright-cli upload ./document.pdf
playwright-cli check e12
playwright-cli uncheck e12
playwright-cli snapshot
playwright-cli eval "document.title"
playwright-cli eval "el => el.textContent" e5
get element id, class, or any attribute not visible in the snapshot
获取元素ID、类名或快照中未显示的任何属性
playwright-cli eval "el => el.id" e5
playwright-cli eval "el => el.getAttribute('data-testid')" e5
playwright-cli dialog-accept
playwright-cli dialog-accept "confirmation text"
playwright-cli dialog-dismiss
playwright-cli resize 1920 1080
playwright-cli close
undefinedplaywright-cli eval "el => el.id" e5
playwright-cli eval "el => el.getAttribute('data-testid')" e5
playwright-cli dialog-accept
playwright-cli dialog-accept "确认文本"
playwright-cli dialog-dismiss
playwright-cli resize 1920 1080
playwright-cli close
undefinedNavigation
导航命令
bash
playwright-cli go-back
playwright-cli go-forward
playwright-cli reloadbash
playwright-cli go-back
playwright-cli go-forward
playwright-cli reloadKeyboard
键盘操作
bash
playwright-cli press Enter
playwright-cli press ArrowDown
playwright-cli keydown Shift
playwright-cli keyup Shiftbash
playwright-cli press Enter
playwright-cli press ArrowDown
playwright-cli keydown Shift
playwright-cli keyup ShiftMouse
鼠标操作
bash
playwright-cli mousemove 150 300
playwright-cli mousedown
playwright-cli mousedown right
playwright-cli mouseup
playwright-cli mouseup right
playwright-cli mousewheel 0 100bash
playwright-cli mousemove 150 300
playwright-cli mousedown
playwright-cli mousedown right
playwright-cli mouseup
playwright-cli mouseup right
playwright-cli mousewheel 0 100Save as
保存操作
bash
playwright-cli screenshot
playwright-cli screenshot e5
playwright-cli screenshot --filename=page.png
playwright-cli pdf --filename=page.pdfbash
playwright-cli screenshot
playwright-cli screenshot e5
playwright-cli screenshot --filename=page.png
playwright-cli pdf --filename=page.pdfTabs
标签页操作
bash
playwright-cli tab-list
playwright-cli tab-new
playwright-cli tab-new https://example.com/page
playwright-cli tab-close
playwright-cli tab-close 2
playwright-cli tab-select 0bash
playwright-cli tab-list
playwright-cli tab-new
playwright-cli tab-new https://example.com/page
playwright-cli tab-close
playwright-cli tab-close 2
playwright-cli tab-select 0Storage
存储操作
bash
playwright-cli state-save
playwright-cli state-save auth.json
playwright-cli state-load auth.jsonbash
playwright-cli state-save
playwright-cli state-save auth.json
playwright-cli state-load auth.jsonCookies
Cookie操作
playwright-cli cookie-list
playwright-cli cookie-list --domain=example.com
playwright-cli cookie-get session_id
playwright-cli cookie-set session_id abc123
playwright-cli cookie-set session_id abc123 --domain=example.com --httpOnly --secure
playwright-cli cookie-delete session_id
playwright-cli cookie-clear
playwright-cli cookie-list
playwright-cli cookie-list --domain=example.com
playwright-cli cookie-get session_id
playwright-cli cookie-set session_id abc123
playwright-cli cookie-set session_id abc123 --domain=example.com --httpOnly --secure
playwright-cli cookie-delete session_id
playwright-cli cookie-clear
LocalStorage
LocalStorage操作
playwright-cli localstorage-list
playwright-cli localstorage-get theme
playwright-cli localstorage-set theme dark
playwright-cli localstorage-delete theme
playwright-cli localstorage-clear
playwright-cli localstorage-list
playwright-cli localstorage-get theme
playwright-cli localstorage-set theme dark
playwright-cli localstorage-delete theme
playwright-cli localstorage-clear
SessionStorage
SessionStorage操作
playwright-cli sessionstorage-list
playwright-cli sessionstorage-get step
playwright-cli sessionstorage-set step 3
playwright-cli sessionstorage-delete step
playwright-cli sessionstorage-clear
undefinedplaywright-cli sessionstorage-list
playwright-cli sessionstorage-get step
playwright-cli sessionstorage-set step 3
playwright-cli sessionstorage-delete step
playwright-cli sessionstorage-clear
undefinedNetwork
网络操作
bash
playwright-cli route "**/*.jpg" --status=404
playwright-cli route "https://api.example.com/**" --body='{"mock": true}'
playwright-cli route-list
playwright-cli unroute "**/*.jpg"
playwright-cli unroutebash
playwright-cli route "**/*.jpg" --status=404
playwright-cli route "https://api.example.com/**" --body='{"mock": true}'
playwright-cli route-list
playwright-cli unroute "**/*.jpg"
playwright-cli unrouteDevTools
开发者工具操作
bash
playwright-cli console
playwright-cli console warning
playwright-cli network
playwright-cli run-code "async page => await page.context().grantPermissions(['geolocation'])"
playwright-cli run-code --filename=script.js
playwright-cli tracing-start
playwright-cli tracing-stop
playwright-cli video-start video.webm
playwright-cli video-chapter "Chapter Title" --description="Details" --duration=2000
playwright-cli video-stopbash
playwright-cli console
playwright-cli console warning
playwright-cli network
playwright-cli run-code "async page => await page.context().grantPermissions(['geolocation'])"
playwright-cli run-code --filename=script.js
playwright-cli tracing-start
playwright-cli tracing-stop
playwright-cli video-start video.webm
playwright-cli video-chapter "Chapter Title" --description="Details" --duration=2000
playwright-cli video-stopRaw output
原始输出
The global option strips page status, generated code, and snapshot sections from the output, returning only the result value.
Use it to pipe command output into other tools. Commands that don't produce output return nothing.
--rawbash
playwright-cli --raw eval "JSON.stringify(performance.timing)" | jq '.loadEventEnd - .navigationStart'
playwright-cli --raw eval "JSON.stringify([...document.querySelectorAll('a')].map(a => a.href))" > links.json
playwright-cli --raw snapshot > before.yml
playwright-cli click e5
playwright-cli --raw snapshot > after.yml
diff before.yml after.yml
TOKEN=$(playwright-cli --raw cookie-get session_id)
playwright-cli --raw localstorage-get theme全局选项会从输出中移除页面状态、生成的代码和快照部分,仅返回结果值。
可用于将命令输出传递给其他工具。无输出的命令将返回空值。
--rawbash
playwright-cli --raw eval "JSON.stringify(performance.timing)" | jq '.loadEventEnd - .navigationStart'
playwright-cli --raw eval "JSON.stringify([...document.querySelectorAll('a')].map(a => a.href))" > links.json
playwright-cli --raw snapshot > before.yml
playwright-cli click e5
playwright-cli --raw snapshot > after.yml
diff before.yml after.yml
TOKEN=$(playwright-cli --raw cookie-get session_id)
playwright-cli --raw localstorage-get themeOpen parameters
打开参数
bash
undefinedbash
undefinedUse specific browser when creating session
创建会话时使用指定浏览器
playwright-cli open --browser=chrome
playwright-cli open --browser=firefox
playwright-cli open --browser=webkit
playwright-cli open --browser=msedge
playwright-cli open --browser=chrome
playwright-cli open --browser=firefox
playwright-cli open --browser=webkit
playwright-cli open --browser=msedge
Use persistent profile (by default profile is in-memory)
使用持久化配置文件(默认配置文件在内存中)
playwright-cli open --persistent
playwright-cli open --persistent
Use persistent profile with custom directory
使用自定义目录的持久化配置文件
playwright-cli open --profile=/path/to/profile
playwright-cli open --profile=/path/to/profile
Connect to browser via extension
通过扩展连接到浏览器
playwright-cli attach --extension
playwright-cli attach --extension
Start with config file
使用配置文件启动
playwright-cli open --config=my-config.json
playwright-cli open --config=my-config.json
Close the browser
关闭浏览器
playwright-cli close
playwright-cli close
Delete user data for the default session
删除默认会话的用户数据
playwright-cli delete-data
undefinedplaywright-cli delete-data
undefinedSnapshots
快照功能
After each command, playwright-cli provides a snapshot of the current browser state.
bash
> playwright-cli goto https://example.com每个命令执行后,playwright-cli会提供当前浏览器状态的快照。
bash
> playwright-cli goto https://example.comPage
页面信息
- Page URL: https://example.com/
- Page Title: Example Domain
- 页面URL: https://example.com/
- 页面标题: Example Domain
Snapshot
快照
Snapshot
You can also take a snapshot on demand using `playwright-cli snapshot` command. All the options below can be combined as needed.
```bashSnapshot
你也可以使用`playwright-cli snapshot`命令按需生成快照。以下所有选项可根据需要组合使用。
```bashdefault - save to a file with timestamp-based name
默认方式 - 保存到带有时间戳名称的文件
playwright-cli snapshot
playwright-cli snapshot
save to file, use when snapshot is a part of the workflow result
保存到指定文件,适用于快照作为工作流结果的一部分时
playwright-cli snapshot --filename=after-click.yaml
playwright-cli snapshot --filename=after-click.yaml
snapshot an element instead of the whole page
仅对元素而非整个页面生成快照
playwright-cli snapshot "#main"
playwright-cli snapshot "#main"
limit snapshot depth for efficiency, take a partial snapshot afterwards
限制快照深度以提升效率,之后可生成部分快照
playwright-cli snapshot --depth=4
playwright-cli snapshot e34
undefinedplaywright-cli snapshot --depth=4
playwright-cli snapshot e34
undefinedTargeting elements
元素定位
By default, use refs from the snapshot to interact with page elements.
bash
undefined默认情况下,使用快照中的引用来与页面元素交互。
bash
undefinedget snapshot with refs
获取带有引用的快照
playwright-cli snapshot
playwright-cli snapshot
interact using a ref
使用引用进行交互
playwright-cli click e15
You can also use css selectors or Playwright locators.
```bashplaywright-cli click e15
你也可以使用CSS选择器或Playwright定位器。
```bashcss selector
CSS选择器
playwright-cli click "#main > button.submit"
playwright-cli click "#main > button.submit"
role locator
角色定位器
playwright-cli click "getByRole('button', { name: 'Submit' })"
playwright-cli click "getByRole('button', { name: 'Submit' })"
test id
测试ID
playwright-cli click "getByTestId('submit-button')"
undefinedplaywright-cli click "getByTestId('submit-button')"
undefinedBrowser Sessions
浏览器会话
bash
undefinedbash
undefinedcreate new browser session named "mysession" with persistent profile
创建名为"mysession"的新浏览器会话并使用持久化配置文件
playwright-cli -s=mysession open example.com --persistent
playwright-cli -s=mysession open example.com --persistent
same with manually specified profile directory (use when requested explicitly)
手动指定配置文件目录的相同操作(明确要求时使用)
playwright-cli -s=mysession open example.com --profile=/path/to/profile
playwright-cli -s=mysession click e6
playwright-cli -s=mysession close
playwright-cli -s=mysession open example.com --profile=/path/to/profile
playwright-cli -s=mysession click e6
playwright-cli -s=mysession close
stop a named browser
停止指定名称的浏览器
playwright-cli -s=mysession delete-data
playwright-cli -s=mysession delete-data
delete user data for persistent session
删除持久化会话的用户数据
playwright-cli list
playwright-cli list
Close all browsers
关闭所有浏览器
playwright-cli close-all
playwright-cli close-all
Forcefully kill all browser processes
强制终止所有浏览器进程
playwright-cli kill-all
undefinedplaywright-cli kill-all
undefinedInstallation
安装方法
If global command is not available, try a local version via :
playwright-clinpx playwright-clibash
npx --no-install playwright-cli --versionOtherwise, install as a global command:
playwright-clibash
npm install -g @playwright/cli@latest如果全局命令不可用,请尝试通过使用本地版本:
playwright-clinpx playwright-clibash
npx --no-install playwright-cli --version否则,将安装为全局命令:
playwright-clibash
npm install -g @playwright/cli@latestExample: Form submission
示例:表单提交
bash
playwright-cli open https://example.com/form
playwright-cli snapshot
playwright-cli fill e1 "user@example.com"
playwright-cli fill e2 "password123"
playwright-cli click e3
playwright-cli snapshot
playwright-cli closebash
playwright-cli open https://example.com/form
playwright-cli snapshot
playwright-cli fill e1 "user@example.com"
playwright-cli fill e2 "password123"
playwright-cli click e3
playwright-cli snapshot
playwright-cli closeExample: Multi-tab workflow
示例:多标签页工作流
bash
playwright-cli open https://example.com
playwright-cli tab-new https://example.com/other
playwright-cli tab-list
playwright-cli tab-select 0
playwright-cli snapshot
playwright-cli closebash
playwright-cli open https://example.com
playwright-cli tab-new https://example.com/other
playwright-cli tab-list
playwright-cli tab-select 0
playwright-cli snapshot
playwright-cli closeExample: Debugging with DevTools
示例:使用开发者工具调试
bash
playwright-cli open https://example.com
playwright-cli click e4
playwright-cli fill e7 "test"
playwright-cli console
playwright-cli network
playwright-cli closebash
playwright-cli open https://example.com
playwright-cli tracing-start
playwright-cli click e4
playwright-cli fill e7 "test"
playwright-cli tracing-stop
playwright-cli closebash
playwright-cli open https://example.com
playwright-cli click e4
playwright-cli fill e7 "test"
playwright-cli console
playwright-cli network
playwright-cli closebash
playwright-cli open https://example.com
playwright-cli tracing-start
playwright-cli click e4
playwright-cli fill e7 "test"
playwright-cli tracing-stop
playwright-cli closeSpecific tasks
特定任务
Later revisions can add the upstream files here as needed.
references/后续版本可根据需要在此处添加上游文件。
references/