WORLDBOOK

playwright | Worldbooks | WebMCP | Search | Submit

playwright

Category: Unknown Author: Unknown Version: 1.0.0 Updated: Unknown
0

Playwright CLI

Website: https://github.com/microsoft/playwright-cli CLI Tool: playwright-cli Authentication: None required

Description

Playwright CLI is a browser automation tool optimized for AI coding agents. Provides command-line control over browser sessions for web automation, testing, and scraping. Token-efficient design with YAML snapshots instead of raw HTML. Supports persistent sessions, multiple browsers, and visual debugging.

Commands

Core

Open Browser

playwright-cli open [url]
playwright-cli open https://example.com/

Open a browser window, optionally navigating to a URL.

playwright-cli goto <url>

Navigate to a URL.

Click

playwright-cli click <ref>
playwright-cli dblclick <ref>

Click or double-click an element by reference (e.g., e3, e15).

Type and Fill

playwright-cli type "search query"
playwright-cli fill <ref> "user@example.com"

Type into focused element or fill a specific input field.

Other Interactions

playwright-cli drag <from-ref> <to-ref>
playwright-cli hover <ref>
playwright-cli select <ref> "option-value"
playwright-cli upload ./document.pdf
playwright-cli check <ref>
playwright-cli uncheck <ref>

Snapshot

playwright-cli snapshot
playwright-cli snapshot --filename=after-click.yaml

Get YAML snapshot of current page state. Primary way to see page content.

Evaluate JavaScript

playwright-cli eval "document.title"
playwright-cli eval "el => el.textContent" <ref>

Execute JavaScript on page or element.

Dialog Handling

playwright-cli dialog-accept
playwright-cli dialog-accept "confirmation text"
playwright-cli dialog-dismiss

Resize and Close

playwright-cli resize 1920 1080
playwright-cli close
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 [right]
playwright-cli mouseup [right]
playwright-cli mousewheel 0 100

Save As

playwright-cli screenshot
playwright-cli screenshot <ref>
playwright-cli screenshot --filename=page.png
playwright-cli pdf --filename=page.pdf

Tabs

playwright-cli tab-list
playwright-cli tab-new [url]
playwright-cli tab-close [index]
playwright-cli tab-select <index>

Storage

State Management

playwright-cli state-save [auth.json]
playwright-cli state-load auth.json

Cookies

playwright-cli cookie-list [--domain=example.com]
playwright-cli cookie-get <name>
playwright-cli cookie-set <name> <value> [--domain=example.com --httpOnly --secure]
playwright-cli cookie-delete <name>
playwright-cli cookie-clear

LocalStorage

playwright-cli localstorage-list
playwright-cli localstorage-get <key>
playwright-cli localstorage-set <key> <value>
playwright-cli localstorage-delete <key>
playwright-cli localstorage-clear

SessionStorage

playwright-cli sessionstorage-list
playwright-cli sessionstorage-get <key>
playwright-cli sessionstorage-set <key> <value>
playwright-cli sessionstorage-delete <key>
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 [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

Browser Options

# Browser selection
playwright-cli open --browser=chrome
playwright-cli open --browser=firefox
playwright-cli open --browser=webkit
playwright-cli open --browser=msedge

# Connect via extension
playwright-cli open --extension

# Persistent profile
playwright-cli open --persistent
playwright-cli open --profile=/path/to/profile

# Config file
playwright-cli open --config=my-config.json

# Delete user data
playwright-cli delete-data

Sessions

# Named session with persistent profile
playwright-cli -s=mysession open example.com --persistent
playwright-cli -s=mysession click e6
playwright-cli -s=mysession close
playwright-cli -s=mysession delete-data

# List and manage sessions
playwright-cli list
playwright-cli close-all
playwright-cli kill-all

Examples

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
playwright-cli close

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
playwright-cli close

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 close

Tracing

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 close

Notes

  • Element References: Commands return refs like e1, e3, e15. Use these in subsequent commands.
  • Snapshots: After each command, a YAML snapshot shows page state. Use snapshot command to capture on demand.
  • Sessions: Use -s=name for persistent named sessions across commands.
  • Local Install: If global install fails, use npx playwright-cli <command>.
  • Browsers: Supports Chrome, Firefox, WebKit, Edge.

Installation

npm install -g @playwright/cli@latest
playwright-cli --help

Get this worldbook via CLI

worldbook get playwright

Comments (0)

Add a Comment

No comments yet. Be the first to comment!