Playwright CLI Reference
Use the wrapper script unless the CLI is already installed globally:
bash
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
"$PWCLI" --helpUser-scoped skills install under $CODEX_HOME/skills (default: ~/.codex/skills).
Optional convenience alias:
bash
alias pwcli="$PWCLI"Core
bash
pwcli open https://example.com
pwcli close
pwcli snapshot
pwcli click e3
pwcli dblclick e7
pwcli type "search terms"
pwcli press Enter
pwcli fill e5 "user@example.com"
pwcli drag e2 e8
pwcli hover e4
pwcli select e9 "option-value"
pwcli upload ./document.pdf
pwcli check e12
pwcli uncheck e12
pwcli eval "document.title"
pwcli eval "el => el.textContent" e5
pwcli dialog-accept
pwcli dialog-accept "confirmation text"
pwcli dialog-dismiss
pwcli resize 1920 1080Navigation
bash
pwcli go-back
pwcli go-forward
pwcli reloadKeyboard
bash
pwcli press Enter
pwcli press ArrowDown
pwcli keydown Shift
pwcli keyup ShiftMouse
bash
pwcli mousemove 150 300
pwcli mousedown
pwcli mousedown right
pwcli mouseup
pwcli mouseup right
pwcli mousewheel 0 100Save as
bash
pwcli screenshot
pwcli screenshot e5
pwcli pdfTabs
bash
pwcli tab-list
pwcli tab-new
pwcli tab-new https://example.com/page
pwcli tab-close
pwcli tab-close 2
pwcli tab-select 0DevTools
bash
pwcli console
pwcli console warning
pwcli network
pwcli run-code "await page.waitForTimeout(1000)"
pwcli tracing-start
pwcli tracing-stopSessions
Use a named session to isolate work:
bash
pwcli --session todo open https://demo.playwright.dev/todomvc
pwcli --session todo snapshotOr set an environment variable once:
bash
export PLAYWRIGHT_CLI_SESSION=todo
pwcli open https://demo.playwright.dev/todomvc