Browser Automation with playwright-cli
Quick start
playwright-cli open https://playwright.dev playwright-cli click e15 playwright-cli type "page.click" playwright-cli press Enter
Core workflow
-
Navigate: playwright-cli open https://example.com
-
Interact using refs from the snapshot
-
Re-snapshot after significant changes
Commands
Core
playwright-cli open https://example.com/ playwright-cli close playwright-cli type "search query" playwright-cli click e3 playwright-cli dblclick e7 playwright-cli fill e5 "user@example.com" 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 snapshot --filename=after-click.yaml playwright-cli eval "document.title" playwright-cli eval "el => el.textContent" e5 playwright-cli dialog-accept playwright-cli dialog-accept "confirmation text" playwright-cli dialog-dismiss playwright-cli resize 1920 1080
Navigation
playwright-cli go-back playwright-cli go-forward playwright-cli reload
Keyboard
playwright-cli press Enter playwright-cli press ArrowDown playwright-cli keydown Shift playwright-cli keyup Shift
Mouse
playwright-cli mousemove 150 300 playwright-cli mousedown playwright-cli mousedown right playwright-cli mouseup playwright-cli mouseup right playwright-cli mousewheel 0 100
Save as
playwright-cli screenshot playwright-cli screenshot e5 playwright-cli screenshot --filename=page.png playwright-cli pdf --filename=page.pdf
Tabs
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 0
Storage
playwright-cli state-save playwright-cli state-save auth.json playwright-cli state-load auth.json
Cookies
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
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
playwright-cli sessionstorage-list playwright-cli sessionstorage-get step playwright-cli sessionstorage-set step 3 playwright-cli sessionstorage-delete step playwright-cli sessionstorage-clear
Network
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 unroute
DevTools
playwright-cli console playwright-cli console warning playwright-cli network playwright-cli run-code "async page => await page.context().grantPermissions(['geolocation'])" playwright-cli tracing-start playwright-cli tracing-stop playwright-cli video-start playwright-cli video-stop video.webm
Install
playwright-cli install-browser playwright-cli install-skills
Configuration
Use 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
Connect to browser via extension
playwright-cli open --extension
Configure the session
playwright-cli config --config my-config.json playwright-cli config --headed --in-memory --browser=firefox
Configure named session
playwright-cli --session=mysession config my-config.json
Start with configured session
playwright-cli open --config=my-config.json
Sessions
playwright-cli --session=mysession open example.com playwright-cli --session=mysession click e6 playwright-cli session-list playwright-cli session-stop mysession playwright-cli session-restart mysession playwright-cli session-stop-all playwright-cli session-delete playwright-cli session-delete mysession
Example: Form submission
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
Example: Multi-tab workflow
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
Example: Debugging with DevTools
playwright-cli open https://example.com playwright-cli click e4 playwright-cli fill e7 "test" playwright-cli console playwright-cli network
playwright-cli open https://example.com playwright-cli tracing-start playwright-cli click e4 playwright-cli fill e7 "test" playwright-cli tracing-stop
Specific tasks
-
Request mocking references/request-mocking.md
-
Running Playwright code references/running-code.md
-
Session management references/session-management.md
-
Storage state (cookies, localStorage) references/storage-state.md
-
Test generation references/test-generation.md
-
Tracing references/tracing.md
-
Video recording references/video-recording.md