Playwright CLI Reference
Use the wrapper script unless the CLI is already installed globally:
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:
alias pwcli="$PWCLI"Core
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
pwcli go-back
pwcli go-forward
pwcli reloadKeyboard
pwcli press Enter
pwcli press ArrowDown
pwcli keydown Shift
pwcli keyup ShiftMouse
pwcli mousemove 150 300
pwcli mousedown
pwcli mousedown right
pwcli mouseup
pwcli mouseup right
pwcli mousewheel 0 100Save as
pwcli screenshot
pwcli screenshot e5
pwcli pdfTabs
pwcli tab-list
pwcli tab-new
pwcli tab-new https://example.com/page
pwcli tab-close
pwcli tab-close 2
pwcli tab-select 0DevTools
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:
pwcli --session todo open https://demo.playwright.dev/todomvc
pwcli --session todo snapshotOr set an environment variable once:
export PLAYWRIGHT_CLI_SESSION=todo
pwcli open https://demo.playwright.dev/todomvc