Install
openclaw skills install clawbrowserUse when the agent needs to drive a browser through the Microsoft Playwright CLI (`playwright-cli`) for navigation, form interactions, screenshots, recordings, data extraction, session management, or debugging without loading a full MCP browser. It trains the agent on the CLI commands, snapshots, and session/config habits that make Playwright CLI reliable for scripted browsing.
openclaw skills install clawbrowsernpm install -g @playwright/cli@latest
playwright-cli --help
The CLI is headless by default; add --headed to open or set browser.launchOptions.headless to false in playwright-cli.json when you need to see the UI.playwright-cli.json by default or whatever file you pass with --config. Use the config to tune browser name, launch/context options, viewport, timeouts, output directories, and recording settings without changing every command.playwright-cli --help terminal-accessible; the script self-documents the latest commands and options so you can refresh your memory before trying a new action.playwright-cli open <url> to load the page (add --session=name if you want isolation up front).playwright-cli snapshot to generate element refs (e1, e2, …) before any interaction. Always re-snapshot after DOM changes or navigation to avoid stale refs.click, dblclick, hover, drag, check, uncheck, select, fill, type, upload, eval[button], [value], or JS snippets as needed (e.g., playwright-cli click e4 right).screenshot [ref], pdf, console [level], or network to prove the flow or inspect errors.playwright-cli open https://example.com/login
playwright-cli snapshot
playwright-cli fill e1 "user@example.com"
playwright-cli fill e2 "supersecret"
playwright-cli click e3
playwright-cli snapshot
playwright-cli screenshot
--session=<name> to keep cookies, storage, and tabs isolated per workflow. Sessions behave like persistent profiles: they remember auth state, history, and tabs between commands.PLAYWRIGHT_CLI_SESSION=mysession if you are running many commands in the same session — the CLI will default to that session without needing --session each time.playwright-cli session-list
playwright-cli session-stop <name>
playwright-cli session-stop-all
playwright-cli session-restart <name>
playwright-cli session-delete <name>
playwright-cli --isolated open ... for ephemeral contexts that do not persist to disk.playwright-cli config for that session and then session-restart to apply the new config.tab-list, tab-new [url], tab-close <index>, tab-select <index>.go-back, go-forward, reload.press <key>, keydown, keyup, mousemove <x> <y>, mousedown [button], mouseup [button], mousewheel <dx> <dy>.playwright-cli console [level]
playwright-cli network
playwright-cli run-code "async page => await page.context().grantPermissions(['clipboard-read'])"
Use these to check console logs, inspect network requests, or inject helper scripts.playwright-cli tracing-start
# perform steps
playwright-cli tracing-stop
playwright-cli video-start
# perform steps
playwright-cli video-stop video.webm
screenshot, pdf, or snapshot (which dumps element refs). Recorded files honor the outputDir from your config.playwright-cli config to tweak runtime flags without reinstalling. Examples:
playwright-cli config --headed --browser=firefox
playwright-cli --session=auth config --config=playwright-cli.json
Change browser, contextOptions, launchOptions, or recording settings in the config and restart the session to apply them.playwright-cli install refreshes browser binaries if the environment is new or you receive errors about missing binaries.playwright-cli session-stop <name>
playwright-cli session-delete <name>
playwright-cli snapshot to confirm refs are still valid. Snapshots provide the current DOM context for click/type operations.playwright-cli --help always shows the latest command set, so consult it before trying a rarely used flag.--headed, or run playwright-cli open --headed <url> for that session only.