skill

Playwright Cli

Automate browser interactions, test web pages and work with Playwright tests.

microsoft164,857+ installsVetted

About

# Browser Automation with playwright-cli

## Quick start

```bash # open new browser playwright-cli open # navigate to a page 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 # take a screenshot (rarely used, as snapshot is more common) playwright-cli screenshot # close the browser playwright-cli close ```

## Commands

### Core

```bash playwright-cli open # open 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 # --submit presses Enter after filling the element playwright-cli fill e5 "user@example.com" --submit playwright-cli drag e2 e8 # drop files or data onto an element (from outside the page) playwright-cli drop e4 --path=./image.png playwright-cli drop e4 --data="text/plain=hello world" 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 # search the snapshot for text or a regexp, returns matching nodes with surrounding context playwright-cli find "Sign in" playwright-cli find --regex "Sign (in|up)" # wrap the regexp in slashes to add flags, e.g. /i for case-insensitive playwright-cli find --regex "/sign (in|up)/i" playwright-cli eval "document.title" playwright-cli eval "el => el.textContent" e5 # get element id, class, or any attribute not visible in the snapshot 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 ```

### Navigation

```bash playwright-cli go-back playwright-cli go-forward playwright-cli reload ```

### Keyboard

```bash playwright-cli press Enter playwright-cli press ArrowDown playwright-cli keydown Shift playwright-cli keyup Shift ```

### Mouse

```bash 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

```bash playwright-cli screenshot playwright-cli screenshot e5 playwright-cli screenshot --filename=page.png playwright-cli screenshot --hires playwright-cli pdf --filename=page.pdf ```

### Tabs

```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 0 ```

### Storage

```bash 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 ```

### Emulation

```bash playwright-cli set-color-scheme dark playwright-cli clear-color-scheme playwright-cli set-reduced-motion reduce playwright-cli clear-reduced-motion playwright-cli set-forced-colors active playwright-cli clear-forced-colors playwright-cli set-contrast more playwright-cli clear-contrast playwright-cli set-media print playwright-cli clear-media ```

### Network

```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 unroute ```

### DevTools

```bash playwright-cli console playwright-cli console warning playwright-cli requests playwright-cli request 5 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

# record user actions in the browser, print them as Playwright code on stop playwright-cli recording-start playwright-cli recording-stop

playwright-cli video-start video.webm playwright-cli video-chapter "Chapter Title" --description="Details" --duration=2000 playwright-cli video-stop

# annotate each subsequent action (click, type, ...) with a callout naming the action, optionally styling the action point and target highlight playwright-cli video-show-actions --duration=600 --position=top-right --highlight-style="

Install

Run this command

npx skills add microsoft/playwright-cli

Works with

claude appclaude codeclaude apicursorcodexwindsurfclinezed

Manual steps

Install with `npx skills add microsoft/playwright-cli`, or clone the repository and copy the `skills/playwright-cli` folder into your Claude skills directory.

View source

Related assets

More curated picks in Development & Code.

Audit before you install

Run any source through our checks - AI visibility, security, performance, and stack detection.

More in Development & Code