mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-02-28 00:22:41 -08:00
update
This commit is contained in:
116
.agents/skills/playwright/references/cli.md
Normal file
116
.agents/skills/playwright/references/cli.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# Playwright CLI Reference
|
||||
|
||||
Use the wrapper script unless the CLI is already installed globally:
|
||||
|
||||
```bash
|
||||
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
|
||||
export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh"
|
||||
"$PWCLI" --help
|
||||
```
|
||||
|
||||
User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).
|
||||
|
||||
Optional convenience alias:
|
||||
|
||||
```bash
|
||||
alias pwcli="$PWCLI"
|
||||
```
|
||||
|
||||
## Core
|
||||
|
||||
```bash
|
||||
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 1080
|
||||
```
|
||||
|
||||
## Navigation
|
||||
|
||||
```bash
|
||||
pwcli go-back
|
||||
pwcli go-forward
|
||||
pwcli reload
|
||||
```
|
||||
|
||||
## Keyboard
|
||||
|
||||
```bash
|
||||
pwcli press Enter
|
||||
pwcli press ArrowDown
|
||||
pwcli keydown Shift
|
||||
pwcli keyup Shift
|
||||
```
|
||||
|
||||
## Mouse
|
||||
|
||||
```bash
|
||||
pwcli mousemove 150 300
|
||||
pwcli mousedown
|
||||
pwcli mousedown right
|
||||
pwcli mouseup
|
||||
pwcli mouseup right
|
||||
pwcli mousewheel 0 100
|
||||
```
|
||||
|
||||
## Save as
|
||||
|
||||
```bash
|
||||
pwcli screenshot
|
||||
pwcli screenshot e5
|
||||
pwcli pdf
|
||||
```
|
||||
|
||||
## Tabs
|
||||
|
||||
```bash
|
||||
pwcli tab-list
|
||||
pwcli tab-new
|
||||
pwcli tab-new https://example.com/page
|
||||
pwcli tab-close
|
||||
pwcli tab-close 2
|
||||
pwcli tab-select 0
|
||||
```
|
||||
|
||||
## DevTools
|
||||
|
||||
```bash
|
||||
pwcli console
|
||||
pwcli console warning
|
||||
pwcli network
|
||||
pwcli run-code "await page.waitForTimeout(1000)"
|
||||
pwcli tracing-start
|
||||
pwcli tracing-stop
|
||||
```
|
||||
|
||||
## Sessions
|
||||
|
||||
Use a named session to isolate work:
|
||||
|
||||
```bash
|
||||
pwcli --session todo open https://demo.playwright.dev/todomvc
|
||||
pwcli --session todo snapshot
|
||||
```
|
||||
|
||||
Or set an environment variable once:
|
||||
|
||||
```bash
|
||||
export PLAYWRIGHT_CLI_SESSION=todo
|
||||
pwcli open https://demo.playwright.dev/todomvc
|
||||
```
|
||||
95
.agents/skills/playwright/references/workflows.md
Normal file
95
.agents/skills/playwright/references/workflows.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# Playwright CLI Workflows
|
||||
|
||||
Use the wrapper script and snapshot often.
|
||||
Assume `PWCLI` is set and `pwcli` is an alias for `"$PWCLI"`.
|
||||
In this repo, run commands from `output/playwright/<label>/` to keep artifacts contained.
|
||||
|
||||
## Standard interaction loop
|
||||
|
||||
```bash
|
||||
pwcli open https://example.com
|
||||
pwcli snapshot
|
||||
pwcli click e3
|
||||
pwcli snapshot
|
||||
```
|
||||
|
||||
## Form submission
|
||||
|
||||
```bash
|
||||
pwcli open https://example.com/form --headed
|
||||
pwcli snapshot
|
||||
pwcli fill e1 "user@example.com"
|
||||
pwcli fill e2 "password123"
|
||||
pwcli click e3
|
||||
pwcli snapshot
|
||||
pwcli screenshot
|
||||
```
|
||||
|
||||
## Data extraction
|
||||
|
||||
```bash
|
||||
pwcli open https://example.com
|
||||
pwcli snapshot
|
||||
pwcli eval "document.title"
|
||||
pwcli eval "el => el.textContent" e12
|
||||
```
|
||||
|
||||
## Debugging and inspection
|
||||
|
||||
Capture console messages and network activity after reproducing an issue:
|
||||
|
||||
```bash
|
||||
pwcli console warning
|
||||
pwcli network
|
||||
```
|
||||
|
||||
Record a trace around a suspicious flow:
|
||||
|
||||
```bash
|
||||
pwcli tracing-start
|
||||
# reproduce the issue
|
||||
pwcli tracing-stop
|
||||
pwcli screenshot
|
||||
```
|
||||
|
||||
## Sessions
|
||||
|
||||
Use sessions to isolate work across projects:
|
||||
|
||||
```bash
|
||||
pwcli --session marketing open https://example.com
|
||||
pwcli --session marketing snapshot
|
||||
pwcli --session checkout open https://example.com/checkout
|
||||
```
|
||||
|
||||
Or set the session once:
|
||||
|
||||
```bash
|
||||
export PLAYWRIGHT_CLI_SESSION=checkout
|
||||
pwcli open https://example.com/checkout
|
||||
```
|
||||
|
||||
## Configuration file
|
||||
|
||||
By default, the CLI reads `playwright-cli.json` from the current directory. Use `--config` to point at a specific file.
|
||||
|
||||
Minimal example:
|
||||
|
||||
```json
|
||||
{
|
||||
"browser": {
|
||||
"launchOptions": {
|
||||
"headless": false
|
||||
},
|
||||
"contextOptions": {
|
||||
"viewport": { "width": 1280, "height": 720 }
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- If an element ref fails, run `pwcli snapshot` again and retry.
|
||||
- If the page looks wrong, re-open with `--headed` and resize the window.
|
||||
- If a flow depends on prior state, use a named `--session`.
|
||||
Reference in New Issue
Block a user