playwriter 0.0.62 → 0.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bippy.js +1 -1
- package/dist/cdp-relay.d.ts.map +1 -1
- package/dist/cdp-relay.js +58 -0
- package/dist/cdp-relay.js.map +1 -1
- package/dist/cli.js +26 -6
- package/dist/cli.js.map +1 -1
- package/dist/create-logger.js +1 -1
- package/dist/create-logger.js.map +1 -1
- package/dist/executor.d.ts +2 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +22 -7
- package/dist/executor.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +6 -0
- package/dist/mcp.js.map +1 -1
- package/dist/prompt.md +208 -12
- package/dist/readability.js +1 -1
- package/dist/relay-client.d.ts +15 -0
- package/dist/relay-client.d.ts.map +1 -1
- package/dist/relay-client.js +16 -1
- package/dist/relay-client.js.map +1 -1
- package/dist/selector-generator.js +1 -1
- package/package.json +1 -1
- package/src/aria-snapshots/hackernews-interactive.txt +241 -237
- package/src/aria-snapshots/hackernews-raw.txt +269 -264
- package/src/assets/aria-labels-github.png +0 -0
- package/src/assets/aria-labels-hacker-news.png +0 -0
- package/src/cdp-relay.ts +67 -0
- package/src/cli.ts +31 -6
- package/src/create-logger.ts +1 -1
- package/src/executor.ts +27 -11
- package/src/mcp.ts +8 -0
- package/src/relay-client.ts +19 -3
- package/src/skill.md +208 -12
package/dist/executor.js
CHANGED
|
@@ -14,6 +14,7 @@ import vm from 'node:vm';
|
|
|
14
14
|
import * as acorn from 'acorn';
|
|
15
15
|
import { createSmartDiff } from './diff-utils.js';
|
|
16
16
|
import { getCdpUrl, parseRelayHost } from './utils.js';
|
|
17
|
+
import { getExtensionOutdatedWarning } from './relay-client.js';
|
|
17
18
|
import { waitForPageLoad } from './wait-for-page-load.js';
|
|
18
19
|
import { getCDPSessionForPage } from './cdp-session.js';
|
|
19
20
|
import { Debugger } from './debugger.js';
|
|
@@ -160,6 +161,7 @@ export class PlaywrightExecutor {
|
|
|
160
161
|
cdpConfig;
|
|
161
162
|
logger;
|
|
162
163
|
sessionMetadata;
|
|
164
|
+
hasWarnedExtensionOutdated = false;
|
|
163
165
|
constructor(options) {
|
|
164
166
|
this.cdpConfig = options.cdpConfig;
|
|
165
167
|
this.logger = options.logger || { log: console.log, error: console.error };
|
|
@@ -216,6 +218,16 @@ export class PlaywrightExecutor {
|
|
|
216
218
|
this.page = null;
|
|
217
219
|
this.context = null;
|
|
218
220
|
}
|
|
221
|
+
warnIfExtensionOutdated(playwriterVersion) {
|
|
222
|
+
if (this.hasWarnedExtensionOutdated) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const warning = getExtensionOutdatedWarning(playwriterVersion);
|
|
226
|
+
if (warning) {
|
|
227
|
+
this.logger.log(warning);
|
|
228
|
+
this.hasWarnedExtensionOutdated = true;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
219
231
|
setupPageConsoleListener(page) {
|
|
220
232
|
// Use targetId() if available, fallback to internal _guid for CDP connections
|
|
221
233
|
const targetId = page.targetId() || page._guid;
|
|
@@ -253,6 +265,7 @@ export class PlaywrightExecutor {
|
|
|
253
265
|
async checkExtensionStatus() {
|
|
254
266
|
const { host = '127.0.0.1', port = 19988, extensionId } = this.cdpConfig;
|
|
255
267
|
const { httpBaseUrl } = parseRelayHost(host, port);
|
|
268
|
+
const notConnected = { connected: false, activeTargets: 0, playwriterVersion: null };
|
|
256
269
|
try {
|
|
257
270
|
if (extensionId) {
|
|
258
271
|
const response = await fetch(`${httpBaseUrl}/extensions/status`, {
|
|
@@ -263,7 +276,7 @@ export class PlaywrightExecutor {
|
|
|
263
276
|
signal: AbortSignal.timeout(2000),
|
|
264
277
|
});
|
|
265
278
|
if (!fallback.ok) {
|
|
266
|
-
return
|
|
279
|
+
return notConnected;
|
|
267
280
|
}
|
|
268
281
|
return (await fallback.json());
|
|
269
282
|
}
|
|
@@ -272,20 +285,20 @@ export class PlaywrightExecutor {
|
|
|
272
285
|
return item.extensionId === extensionId || item.stableKey === extensionId;
|
|
273
286
|
});
|
|
274
287
|
if (!extension) {
|
|
275
|
-
return
|
|
288
|
+
return notConnected;
|
|
276
289
|
}
|
|
277
|
-
return { connected: true, activeTargets: extension.activeTargets };
|
|
290
|
+
return { connected: true, activeTargets: extension.activeTargets, playwriterVersion: extension?.playwriterVersion || null };
|
|
278
291
|
}
|
|
279
292
|
const response = await fetch(`${httpBaseUrl}/extension/status`, {
|
|
280
293
|
signal: AbortSignal.timeout(2000),
|
|
281
294
|
});
|
|
282
295
|
if (!response.ok) {
|
|
283
|
-
return
|
|
296
|
+
return notConnected;
|
|
284
297
|
}
|
|
285
298
|
return (await response.json());
|
|
286
299
|
}
|
|
287
300
|
catch {
|
|
288
|
-
return
|
|
301
|
+
return notConnected;
|
|
289
302
|
}
|
|
290
303
|
}
|
|
291
304
|
async ensureConnection() {
|
|
@@ -297,6 +310,7 @@ export class PlaywrightExecutor {
|
|
|
297
310
|
if (!extensionStatus.connected) {
|
|
298
311
|
throw new Error(EXTENSION_NOT_CONNECTED_ERROR);
|
|
299
312
|
}
|
|
313
|
+
this.warnIfExtensionOutdated(extensionStatus.playwriterVersion);
|
|
300
314
|
// Generate a fresh unique URL for each Playwright connection
|
|
301
315
|
const cdpUrl = getCdpUrl(this.cdpConfig);
|
|
302
316
|
const browser = await chromium.connectOverCDP(cdpUrl);
|
|
@@ -358,6 +372,7 @@ export class PlaywrightExecutor {
|
|
|
358
372
|
if (!extensionStatus.connected) {
|
|
359
373
|
throw new Error(EXTENSION_NOT_CONNECTED_ERROR);
|
|
360
374
|
}
|
|
375
|
+
this.warnIfExtensionOutdated(extensionStatus.playwriterVersion);
|
|
361
376
|
// Generate a fresh unique URL for each Playwright connection
|
|
362
377
|
const cdpUrl = getCdpUrl(this.cdpConfig);
|
|
363
378
|
const browser = await chromium.connectOverCDP(cdpUrl);
|
|
@@ -392,7 +407,7 @@ export class PlaywrightExecutor {
|
|
|
392
407
|
.map((arg) => {
|
|
393
408
|
if (typeof arg === 'string')
|
|
394
409
|
return arg;
|
|
395
|
-
return util.inspect(arg, { depth: 4, colors: false, maxArrayLength: 100, breakLength: 80 });
|
|
410
|
+
return util.inspect(arg, { depth: 4, colors: false, maxArrayLength: 100, maxStringLength: 1000, breakLength: 80 });
|
|
396
411
|
})
|
|
397
412
|
.join(' ');
|
|
398
413
|
text += `[${method}] ${formattedArgs}\n`;
|
|
@@ -684,7 +699,7 @@ export class PlaywrightExecutor {
|
|
|
684
699
|
if (resolvedResult !== undefined) {
|
|
685
700
|
const formatted = typeof resolvedResult === 'string'
|
|
686
701
|
? resolvedResult
|
|
687
|
-
: util.inspect(resolvedResult, { depth: 4, colors: false, maxArrayLength: 100, breakLength: 80 });
|
|
702
|
+
: util.inspect(resolvedResult, { depth: 4, colors: false, maxArrayLength: 100, maxStringLength: 1000, breakLength: 80 });
|
|
688
703
|
if (formatted.trim()) {
|
|
689
704
|
responseText += `[return value] ${formatted}\n`;
|
|
690
705
|
}
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAoRA,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,iBAkB7E"}
|
package/dist/mcp.js
CHANGED
|
@@ -3,8 +3,14 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import fs from 'node:fs';
|
|
5
5
|
import path from 'node:path';
|
|
6
|
+
import util from 'node:util';
|
|
6
7
|
import { fileURLToPath } from 'node:url';
|
|
7
8
|
import { createRequire } from 'node:module';
|
|
9
|
+
// Prevent Buffers from dumping hex bytes in util.inspect output.
|
|
10
|
+
// Without this, returning a screenshot Buffer would log ~400+ chars of useless hex.
|
|
11
|
+
Buffer.prototype[util.inspect.custom] = function () {
|
|
12
|
+
return `<Buffer ${this.length} bytes>`;
|
|
13
|
+
};
|
|
8
14
|
import dedent from 'string-dedent';
|
|
9
15
|
import { LOG_FILE_PATH, VERSION, parseRelayHost } from './utils.js';
|
|
10
16
|
import { ensureRelayServer, RELAY_PORT } from './relay-client.js';
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt.md
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
Control user's Chrome browser via playwright code snippets. Prefer single-line code with semicolons between statements. Use playwriter immediately without waiting for user actions; only if you get "extension is not connected" or "no browser tabs have Playwriter enabled" should you ask the user to click the playwriter extension icon on the target tab.
|
|
4
4
|
|
|
5
|
+
**If Chrome is not running**, the extension can't connect. Start Chrome from the command line before retrying:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# macOS
|
|
9
|
+
open -a "Google Chrome"
|
|
10
|
+
|
|
11
|
+
# Linux
|
|
12
|
+
google-chrome &
|
|
13
|
+
|
|
14
|
+
# Windows (cmd)
|
|
15
|
+
start chrome.exe
|
|
16
|
+
|
|
17
|
+
# Windows (PowerShell)
|
|
18
|
+
Start-Process chrome.exe
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
To also enable automatic tab capture for screen recording (no manual extension click needed), add the `--allowlisted-extension-id` and `--auto-accept-this-tab-capture` flags:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# macOS
|
|
25
|
+
open -a "Google Chrome" --args --allowlisted-extension-id=jfeammnjpkecdekppnclgkkffahnhfhe --auto-accept-this-tab-capture
|
|
26
|
+
|
|
27
|
+
# Linux
|
|
28
|
+
google-chrome --allowlisted-extension-id=jfeammnjpkecdekppnclgkkffahnhfhe --auto-accept-this-tab-capture &
|
|
29
|
+
|
|
30
|
+
# Windows
|
|
31
|
+
start chrome.exe --allowlisted-extension-id=jfeammnjpkecdekppnclgkkffahnhfhe --auto-accept-this-tab-capture
|
|
32
|
+
```
|
|
33
|
+
|
|
5
34
|
You can collaborate with the user - they can help with captchas, difficult elements, or reproducing bugs.
|
|
6
35
|
|
|
7
36
|
## context variables
|
|
@@ -26,14 +55,97 @@ You can collaborate with the user - they can help with captchas, difficult eleme
|
|
|
26
55
|
- **Wait for load**: use `page.waitForLoadState('domcontentloaded')` not `page.waitForEvent('load')` - waitForEvent times out if already loaded
|
|
27
56
|
- **Avoid timeouts**: prefer proper waits over `page.waitForTimeout()` - there are better ways to wait for elements
|
|
28
57
|
|
|
58
|
+
## interaction feedback loop
|
|
59
|
+
|
|
60
|
+
Every browser interaction should follow a **observe → act → observe** loop. After every action, you must check its result before proceeding. Never chain multiple actions blindly — the page may not have responded as expected.
|
|
61
|
+
|
|
62
|
+
**Core loop:**
|
|
63
|
+
|
|
64
|
+
1. **Open page** — get or create your page and navigate to the target URL
|
|
65
|
+
2. **Observe** — take an accessibility snapshot to understand the current state
|
|
66
|
+
3. **Update priors** — read the snapshot, identify the element to interact with
|
|
67
|
+
4. **Act** — perform one action (click, type, submit)
|
|
68
|
+
5. **Observe again** — take another snapshot to verify the action's effect
|
|
69
|
+
6. **Repeat** — continue from step 3 until the task is complete
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
┌─────────────────────────────────────────────┐
|
|
73
|
+
│ open page + goto URL │
|
|
74
|
+
└──────────────────┬──────────────────────────┘
|
|
75
|
+
▼
|
|
76
|
+
┌────────────────┐
|
|
77
|
+
│ observe │◄─────────────────┐
|
|
78
|
+
│ (snapshot) │ │
|
|
79
|
+
└───────┬────────┘ │
|
|
80
|
+
▼ │
|
|
81
|
+
┌────────────────┐ │
|
|
82
|
+
│ update priors │ │
|
|
83
|
+
│ (read result) │ │
|
|
84
|
+
└───────┬────────┘ │
|
|
85
|
+
▼ │
|
|
86
|
+
┌────────────────┐ │
|
|
87
|
+
│ act │ │
|
|
88
|
+
│ (click/type) │──────────────────┘
|
|
89
|
+
└────────────────┘
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Example: opening a Framer plugin via the command palette**
|
|
93
|
+
|
|
94
|
+
Each step is a separate execute call. Notice how every action is followed by a snapshot to verify what happened:
|
|
95
|
+
|
|
96
|
+
```js
|
|
97
|
+
// 1. Open page and observe
|
|
98
|
+
state.myPage = context.pages().find(p => p.url() === 'about:blank') ?? await context.newPage();
|
|
99
|
+
await state.myPage.goto('https://framer.com/projects/my-project', { waitUntil: 'domcontentloaded' });
|
|
100
|
+
await accessibilitySnapshot({ page: state.myPage }).then(console.log)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```js
|
|
104
|
+
// 2. Act: open command palette → observe result
|
|
105
|
+
await state.myPage.keyboard.press('Meta+k');
|
|
106
|
+
await accessibilitySnapshot({ page: state.myPage, search: /dialog|Search/ }).then(console.log)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```js
|
|
110
|
+
// 3. Act: type search query → observe result
|
|
111
|
+
await state.myPage.keyboard.type('MCP');
|
|
112
|
+
await accessibilitySnapshot({ page: state.myPage, search: /MCP/ }).then(console.log)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
```js
|
|
116
|
+
// 4. Act: press Enter → observe plugin loaded
|
|
117
|
+
await state.myPage.keyboard.press('Enter');
|
|
118
|
+
await state.myPage.waitForTimeout(1000);
|
|
119
|
+
const frame = state.myPage.frames().find(f => f.url().includes('plugins.framercdn.com'));
|
|
120
|
+
await accessibilitySnapshot({ page: state.myPage, frame: frame || undefined }).then(console.log)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Other ways to observe action results:**
|
|
124
|
+
|
|
125
|
+
Snapshots are the primary feedback mechanism, but some actions have side effects that are better observed through other channels:
|
|
126
|
+
|
|
127
|
+
- **Console logs** — check for errors or app state after an action:
|
|
128
|
+
```js
|
|
129
|
+
await getLatestLogs({ page, search: /error|fail/i, count: 20 })
|
|
130
|
+
```
|
|
131
|
+
- **Network requests** — verify API calls were made after a form submit or button click:
|
|
132
|
+
```js
|
|
133
|
+
page.on('response', async res => { if (res.url().includes('/api/')) { console.log(res.status(), res.url()); } });
|
|
134
|
+
```
|
|
135
|
+
- **URL changes** — confirm navigation happened:
|
|
136
|
+
```js
|
|
137
|
+
console.log(page.url())
|
|
138
|
+
```
|
|
139
|
+
- **Screenshots** — only when you need to verify visual layout (CSS, spatial positioning, colors). Snapshots are always preferred for content verification.
|
|
140
|
+
|
|
29
141
|
## common mistakes to avoid
|
|
30
142
|
|
|
31
143
|
**1. Not verifying actions succeeded**
|
|
32
|
-
Always
|
|
144
|
+
Always check page state after important actions (form submissions, uploads, typing). Your mental model can diverge from actual browser state:
|
|
33
145
|
```js
|
|
34
146
|
await page.keyboard.type('my text');
|
|
35
|
-
await
|
|
36
|
-
//
|
|
147
|
+
await accessibilitySnapshot({ page, search: /my text/ })
|
|
148
|
+
// If verifying visual layout specifically, use screenshotWithAccessibilityLabels instead
|
|
37
149
|
```
|
|
38
150
|
|
|
39
151
|
**2. Assuming paste/upload worked**
|
|
@@ -78,7 +190,36 @@ await page.keyboard.press('Enter');
|
|
|
78
190
|
await page.keyboard.type('Line 2');
|
|
79
191
|
```
|
|
80
192
|
|
|
81
|
-
**6.
|
|
193
|
+
**6. Quote escaping in $'...' syntax**
|
|
194
|
+
When using `$'...'` for multiline code, nested quotes break parsing. Use different quote styles or escape them:
|
|
195
|
+
```bash
|
|
196
|
+
# BAD: nested double quotes break $'...'
|
|
197
|
+
playwriter -s 1 -e $'await page.locator("[id=\"_r_a_\"]").click()'
|
|
198
|
+
|
|
199
|
+
# GOOD: use single quotes inside, or template strings
|
|
200
|
+
playwriter -s 1 -e $'await page.locator(\'[id="_r_a_"]\').click()'
|
|
201
|
+
|
|
202
|
+
# GOOD: use heredoc for complex quoting
|
|
203
|
+
playwriter -s 1 -e "$(cat <<'EOF'
|
|
204
|
+
await page.locator('[id="_r_a_"]').click()
|
|
205
|
+
EOF
|
|
206
|
+
)"
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**7. Using screenshots when snapshots suffice**
|
|
210
|
+
Screenshots + image analysis is expensive and slow. Only use screenshots for visual/CSS issues:
|
|
211
|
+
```js
|
|
212
|
+
// BAD: screenshot to check if text appeared (wastes tokens on image analysis)
|
|
213
|
+
await page.screenshot({ path: 'check.png', scale: 'css' });
|
|
214
|
+
|
|
215
|
+
// GOOD: snapshot is text — fast, cheap, searchable
|
|
216
|
+
await accessibilitySnapshot({ page, search: /expected text/i })
|
|
217
|
+
|
|
218
|
+
// GOOD: evaluate DOM directly for content checks
|
|
219
|
+
const text = await page.evaluate(() => document.querySelector('.message')?.textContent);
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**8. Assuming page content loaded**
|
|
82
223
|
Even after `goto()`, dynamic content may not be ready:
|
|
83
224
|
```js
|
|
84
225
|
await page.goto('https://example.com');
|
|
@@ -88,7 +229,7 @@ await page.waitForSelector('article', { timeout: 10000 });
|
|
|
88
229
|
await waitForPageLoad({ page, timeout: 5000 });
|
|
89
230
|
```
|
|
90
231
|
|
|
91
|
-
**
|
|
232
|
+
**9. Login buttons that open popups**
|
|
92
233
|
Playwriter extension cannot control popup windows. If a login button opens a popup (common with OAuth/SSO), use cmd+click to open in a new tab instead:
|
|
93
234
|
```js
|
|
94
235
|
// BAD: popup window is not controllable by playwriter
|
|
@@ -113,13 +254,17 @@ await loginPage.waitForURL('**/callback**');
|
|
|
113
254
|
|
|
114
255
|
## checking page state
|
|
115
256
|
|
|
116
|
-
After any action (click, submit, navigate), verify what happened
|
|
257
|
+
After any action (click, submit, navigate), verify what happened. **Always prefer accessibility snapshots over screenshots** — snapshots are text (cheap, fast, searchable), screenshots require image analysis (expensive, slow).
|
|
117
258
|
|
|
118
259
|
```js
|
|
260
|
+
// Default: use snapshot with optional filtering
|
|
119
261
|
page.url() + '\n' + await accessibilitySnapshot({ page })
|
|
262
|
+
|
|
263
|
+
// Filter for specific content when snapshot is large
|
|
264
|
+
await accessibilitySnapshot({ page, search: /dialog|button|error/i })
|
|
120
265
|
```
|
|
121
266
|
|
|
122
|
-
|
|
267
|
+
Only use `screenshotWithAccessibilityLabels({ page })` for **visual layout issues** (CSS bugs, spatial positioning, colors). For verifying text content, button states, or form values, snapshots are always sufficient.
|
|
123
268
|
|
|
124
269
|
If nothing changed, try `await waitForPageLoad({ page, timeout: 3000 })` or you may have clicked the wrong element.
|
|
125
270
|
|
|
@@ -168,6 +313,18 @@ Search for specific elements:
|
|
|
168
313
|
const snapshot = await accessibilitySnapshot({ page, search: /button|submit/i })
|
|
169
314
|
```
|
|
170
315
|
|
|
316
|
+
**Filtering large snapshots in JS** — when the built-in `search` isn't enough (e.g., you need multiple patterns or custom logic), filter the snapshot string directly:
|
|
317
|
+
|
|
318
|
+
```js
|
|
319
|
+
const snap = await accessibilitySnapshot({ page, showDiffSinceLastCall: false });
|
|
320
|
+
const relevant = snap.split('\n').filter(l =>
|
|
321
|
+
l.includes('dialog') || l.includes('error') || l.includes('button')
|
|
322
|
+
).join('\n');
|
|
323
|
+
console.log(relevant);
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
This is much cheaper than taking a screenshot — use it as your primary debugging tool for verifying text content, checking if elements exist, or confirming state changes.
|
|
327
|
+
|
|
171
328
|
## choosing between snapshot methods
|
|
172
329
|
|
|
173
330
|
Both `accessibilitySnapshot` and `screenshotWithAccessibilityLabels` use the same ref system, so you can combine them effectively.
|
|
@@ -216,14 +373,17 @@ await page.locator('li').nth(3).click() // 4th item (0-indexed)
|
|
|
216
373
|
|
|
217
374
|
## working with pages
|
|
218
375
|
|
|
219
|
-
**Pages are shared, state is not.** `context.pages()` returns all browser tabs with playwriter enabled — shared across all sessions. Multiple agents see the same tabs. If another agent navigates or closes a page you're using, you'll be affected. To avoid interference, **
|
|
376
|
+
**Pages are shared, state is not.** `context.pages()` returns all browser tabs with playwriter enabled — shared across all sessions. Multiple agents see the same tabs. If another agent navigates or closes a page you're using, you'll be affected. To avoid interference, **get your own page**.
|
|
220
377
|
|
|
221
|
-
**
|
|
378
|
+
**Get or create your page (first call):**
|
|
222
379
|
|
|
223
|
-
On your very first execute call, create a
|
|
380
|
+
On your very first execute call, reuse an existing empty tab or create a new one, and navigate it **in the same execute call**. Store it in `state` and use `state.myPage` for all subsequent operations instead of the default `page` variable:
|
|
224
381
|
|
|
225
382
|
```js
|
|
226
|
-
|
|
383
|
+
// Reuse an empty about:blank tab if available, otherwise create a new one.
|
|
384
|
+
// IMPORTANT: always navigate immediately in the same call to avoid another
|
|
385
|
+
// agent grabbing the same about:blank tab between execute calls.
|
|
386
|
+
state.myPage = context.pages().find(p => p.url() === 'about:blank') ?? await context.newPage();
|
|
227
387
|
await state.myPage.goto('https://example.com');
|
|
228
388
|
// Use state.myPage for ALL subsequent operations
|
|
229
389
|
```
|
|
@@ -234,7 +394,7 @@ The user may close your page by accident (e.g., closing a tab in Chrome). Always
|
|
|
234
394
|
|
|
235
395
|
```js
|
|
236
396
|
if (!state.myPage || state.myPage.isClosed()) {
|
|
237
|
-
state.myPage = await context.newPage();
|
|
397
|
+
state.myPage = context.pages().find(p => p.url() === 'about:blank') ?? await context.newPage();
|
|
238
398
|
}
|
|
239
399
|
await state.myPage.goto('https://example.com');
|
|
240
400
|
```
|
|
@@ -597,6 +757,42 @@ console.log(data);
|
|
|
597
757
|
|
|
598
758
|
Clean up listeners when done: `page.removeAllListeners('request'); page.removeAllListeners('response');`
|
|
599
759
|
|
|
760
|
+
## debugging web apps
|
|
761
|
+
|
|
762
|
+
When debugging why a web app isn't working (e.g., content not rendering, API errors, state issues), use these techniques **before** resorting to screenshots:
|
|
763
|
+
|
|
764
|
+
**1. Console logs** — use `getLatestLogs` to check for errors:
|
|
765
|
+
|
|
766
|
+
```js
|
|
767
|
+
const errors = await getLatestLogs({ page, search: /error|fail/i, count: 20 });
|
|
768
|
+
const appLogs = await getLatestLogs({ page, search: /myComponent|state/i });
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
**2. DOM inspection via evaluate** — check content directly without screenshots:
|
|
772
|
+
|
|
773
|
+
```js
|
|
774
|
+
const info = await page.evaluate(() => {
|
|
775
|
+
const msgs = document.querySelectorAll('.message');
|
|
776
|
+
return Array.from(msgs).map(m => ({
|
|
777
|
+
text: m.textContent?.slice(0, 200),
|
|
778
|
+
visible: m.offsetHeight > 0,
|
|
779
|
+
}));
|
|
780
|
+
});
|
|
781
|
+
console.log(JSON.stringify(info, null, 2));
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
**3. Combine snapshot + logs for full picture:**
|
|
785
|
+
|
|
786
|
+
```js
|
|
787
|
+
await page.keyboard.press('Enter');
|
|
788
|
+
await page.waitForTimeout(2000);
|
|
789
|
+
|
|
790
|
+
const snap = await accessibilitySnapshot({ page, search: /dialog|error|message/ });
|
|
791
|
+
const logs = await getLatestLogs({ page, search: /error/i, count: 10 });
|
|
792
|
+
console.log('UI:', snap);
|
|
793
|
+
console.log('Logs:', logs);
|
|
794
|
+
```
|
|
795
|
+
|
|
600
796
|
## capabilities
|
|
601
797
|
|
|
602
798
|
Examples of what playwriter can do:
|
package/dist/readability.js
CHANGED
|
@@ -1654,7 +1654,7 @@
|
|
|
1654
1654
|
};
|
|
1655
1655
|
});
|
|
1656
1656
|
|
|
1657
|
-
// dist/_readability-entry-
|
|
1657
|
+
// dist/_readability-entry-97179-1771340082184.js
|
|
1658
1658
|
var import_readability = __toESM(require_readability(), 1);
|
|
1659
1659
|
globalThis.__readability = { Readability: import_readability.Readability, isProbablyReaderable: import_readability.isProbablyReaderable };
|
|
1660
1660
|
})();
|
package/dist/relay-client.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare function getRelayServerVersion(port?: number): Promise<string | n
|
|
|
7
7
|
export declare function getExtensionStatus(port?: number): Promise<{
|
|
8
8
|
connected: boolean;
|
|
9
9
|
activeTargets: number;
|
|
10
|
+
playwriterVersion: string | null;
|
|
10
11
|
} | null>;
|
|
11
12
|
/**
|
|
12
13
|
* Wait for the extension to connect to the relay server.
|
|
@@ -19,6 +20,20 @@ export declare function waitForExtension(options?: {
|
|
|
19
20
|
log: (...args: any[]) => void;
|
|
20
21
|
};
|
|
21
22
|
}): Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Compare two semver versions. Returns:
|
|
25
|
+
* - negative if v1 < v2
|
|
26
|
+
* - 0 if v1 === v2
|
|
27
|
+
* - positive if v1 > v2
|
|
28
|
+
*/
|
|
29
|
+
export declare function compareVersions(v1: string, v2: string): number;
|
|
30
|
+
/**
|
|
31
|
+
* Check if the running playwriter package is older than the version the extension was built with.
|
|
32
|
+
* The extension bundles the playwriter version at build time. If the extension reports a newer
|
|
33
|
+
* version, it means the user's CLI/MCP needs updating.
|
|
34
|
+
* Returns a warning message if outdated, null otherwise.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getExtensionOutdatedWarning(extensionPlaywriterVersion: string | null | undefined): string | null;
|
|
22
37
|
export interface EnsureRelayServerOptions {
|
|
23
38
|
logger?: {
|
|
24
39
|
log: (...args: any[]) => void;
|