playwriter 0.0.38 → 0.0.39
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/aria-snapshot.d.ts +2 -2
- package/dist/aria-snapshot.d.ts.map +1 -1
- package/dist/aria-snapshot.js +47 -25
- package/dist/aria-snapshot.js.map +1 -1
- package/package.json +13 -12
- package/src/aria-snapshot.ts +52 -25
- package/src/prompt.md +2 -2
package/dist/aria-snapshot.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export declare function getAriaSnapshot({ page }: {
|
|
|
37
37
|
* Labels are yellow badges positioned above each element showing the aria ref (e.g., "e1", "e2").
|
|
38
38
|
* Use with screenshots so agents can see which elements are interactive.
|
|
39
39
|
*
|
|
40
|
-
* Labels auto-hide after
|
|
40
|
+
* Labels auto-hide after 30 seconds to prevent stale labels remaining on the page.
|
|
41
41
|
* Call this function again if the page HTML changes to get fresh labels.
|
|
42
42
|
*
|
|
43
43
|
* By default, only shows labels for truly interactive roles (button, link, textbox, etc.)
|
|
@@ -49,7 +49,7 @@ export declare function getAriaSnapshot({ page }: {
|
|
|
49
49
|
* await page.screenshot({ path: '/tmp/screenshot.png' })
|
|
50
50
|
* // Agent sees [e5] label on "Submit" button
|
|
51
51
|
* await page.locator('aria-ref=e5').click()
|
|
52
|
-
* // Labels auto-hide after
|
|
52
|
+
* // Labels auto-hide after 30 seconds, or call hideAriaRefLabels() manually
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
55
|
export declare function showAriaRefLabels({ page, interactiveOnly }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aria-snapshot.d.ts","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzD,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACzD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IAChG,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACrF;AA8ED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwF3F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,eAAsB,EAAE,EAAE;IACxE,IAAI,EAAE,IAAI,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,
|
|
1
|
+
{"version":3,"file":"aria-snapshot.d.ts","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzD,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACzD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IAChG,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACrF;AA8ED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwF3F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,eAAsB,EAAE,EAAE;IACxE,IAAI,EAAE,IAAI,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,CAyOD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/E"}
|
package/dist/aria-snapshot.js
CHANGED
|
@@ -163,7 +163,7 @@ export async function getAriaSnapshot({ page }) {
|
|
|
163
163
|
* Labels are yellow badges positioned above each element showing the aria ref (e.g., "e1", "e2").
|
|
164
164
|
* Use with screenshots so agents can see which elements are interactive.
|
|
165
165
|
*
|
|
166
|
-
* Labels auto-hide after
|
|
166
|
+
* Labels auto-hide after 30 seconds to prevent stale labels remaining on the page.
|
|
167
167
|
* Call this function again if the page HTML changes to get fresh labels.
|
|
168
168
|
*
|
|
169
169
|
* By default, only shows labels for truly interactive roles (button, link, textbox, etc.)
|
|
@@ -175,7 +175,7 @@ export async function getAriaSnapshot({ page }) {
|
|
|
175
175
|
* await page.screenshot({ path: '/tmp/screenshot.png' })
|
|
176
176
|
* // Agent sees [e5] label on "Submit" button
|
|
177
177
|
* await page.locator('aria-ref=e5').click()
|
|
178
|
-
* // Labels auto-hide after
|
|
178
|
+
* // Labels auto-hide after 30 seconds, or call hideAriaRefLabels() manually
|
|
179
179
|
* ```
|
|
180
180
|
*/
|
|
181
181
|
export async function showAriaRefLabels({ page, interactiveOnly = true }) {
|
|
@@ -195,10 +195,12 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
|
|
|
195
195
|
}));
|
|
196
196
|
// Single evaluate call: create container, styles, and all labels
|
|
197
197
|
// ElementHandles get unwrapped to DOM elements in browser context
|
|
198
|
-
// Using 'any' types here since this code runs in browser context
|
|
199
198
|
const labelCount = await page.evaluate(
|
|
200
199
|
// Using 'any' for browser types since this runs in browser context
|
|
201
|
-
({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors })
|
|
200
|
+
function ({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors }) {
|
|
201
|
+
// Polyfill esbuild's __name helper which gets injected by vite-node but doesn't exist in browser
|
|
202
|
+
;
|
|
203
|
+
globalThis.__name ||= (fn) => fn;
|
|
202
204
|
const doc = globalThis.document;
|
|
203
205
|
const win = globalThis;
|
|
204
206
|
// Cancel any pending auto-hide timer from previous call
|
|
@@ -224,62 +226,76 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
|
|
|
224
226
|
const LABEL_HEIGHT = 16;
|
|
225
227
|
const LABEL_CHAR_WIDTH = 7; // approximate width per character
|
|
226
228
|
// Parse alpha from rgb/rgba color string (getComputedStyle always returns these formats)
|
|
227
|
-
|
|
228
|
-
if (color === 'transparent')
|
|
229
|
+
function getColorAlpha(color) {
|
|
230
|
+
if (color === 'transparent') {
|
|
229
231
|
return 0;
|
|
232
|
+
}
|
|
230
233
|
// Match rgba(r, g, b, a) or rgb(r, g, b)
|
|
231
234
|
const match = color.match(/rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(?:,\s*([\d.]+)\s*)?\)/);
|
|
232
235
|
if (match) {
|
|
233
236
|
return match[1] !== undefined ? parseFloat(match[1]) : 1;
|
|
234
237
|
}
|
|
235
238
|
return 1; // Default to opaque for unrecognized formats
|
|
236
|
-
}
|
|
239
|
+
}
|
|
237
240
|
// Check if an element has an opaque background that would block elements behind it
|
|
238
|
-
|
|
241
|
+
function isOpaqueElement(el) {
|
|
239
242
|
const style = win.getComputedStyle(el);
|
|
240
243
|
// Check element opacity
|
|
241
244
|
const opacity = parseFloat(style.opacity);
|
|
242
|
-
if (opacity < 0.1)
|
|
245
|
+
if (opacity < 0.1) {
|
|
243
246
|
return false;
|
|
247
|
+
}
|
|
244
248
|
// Check background-color alpha
|
|
245
249
|
const bgAlpha = getColorAlpha(style.backgroundColor);
|
|
246
|
-
if (bgAlpha > 0.1)
|
|
250
|
+
if (bgAlpha > 0.1) {
|
|
247
251
|
return true;
|
|
252
|
+
}
|
|
248
253
|
// Check if has background-image (usually opaque)
|
|
249
|
-
if (style.backgroundImage !== 'none')
|
|
254
|
+
if (style.backgroundImage !== 'none') {
|
|
250
255
|
return true;
|
|
256
|
+
}
|
|
251
257
|
return false;
|
|
252
|
-
}
|
|
258
|
+
}
|
|
253
259
|
// Check if element is visible (not covered by opaque overlay)
|
|
254
|
-
|
|
260
|
+
function isElementVisible(element, rect) {
|
|
255
261
|
const centerX = rect.left + rect.width / 2;
|
|
256
262
|
const centerY = rect.top + rect.height / 2;
|
|
257
263
|
// Get all elements at this point, from top to bottom
|
|
258
264
|
const stack = doc.elementsFromPoint(centerX, centerY);
|
|
259
265
|
// Find our target element in the stack
|
|
260
|
-
|
|
266
|
+
let targetIndex = -1;
|
|
267
|
+
for (let i = 0; i < stack.length; i++) {
|
|
268
|
+
if (element.contains(stack[i]) || stack[i].contains(element)) {
|
|
269
|
+
targetIndex = i;
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
261
273
|
// Element not in stack at all - not visible
|
|
262
|
-
if (targetIndex === -1)
|
|
274
|
+
if (targetIndex === -1) {
|
|
263
275
|
return false;
|
|
276
|
+
}
|
|
264
277
|
// Check if any opaque element is above our target
|
|
265
278
|
for (let i = 0; i < targetIndex; i++) {
|
|
266
279
|
const el = stack[i];
|
|
267
280
|
// Skip our own overlay container
|
|
268
|
-
if (el.id === containerId)
|
|
281
|
+
if (el.id === containerId) {
|
|
269
282
|
continue;
|
|
283
|
+
}
|
|
270
284
|
// Skip pointer-events: none elements (decorative overlays)
|
|
271
|
-
if (win.getComputedStyle(el).pointerEvents === 'none')
|
|
285
|
+
if (win.getComputedStyle(el).pointerEvents === 'none') {
|
|
272
286
|
continue;
|
|
287
|
+
}
|
|
273
288
|
// If this element is opaque, our target is blocked
|
|
274
|
-
if (isOpaqueElement(el))
|
|
289
|
+
if (isOpaqueElement(el)) {
|
|
275
290
|
return false;
|
|
291
|
+
}
|
|
276
292
|
}
|
|
277
293
|
return true;
|
|
278
|
-
}
|
|
294
|
+
}
|
|
279
295
|
// Check if two rectangles overlap
|
|
280
|
-
|
|
296
|
+
function rectsOverlap(a, b) {
|
|
281
297
|
return a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top;
|
|
282
|
-
}
|
|
298
|
+
}
|
|
283
299
|
// Create label for each interactive element
|
|
284
300
|
let count = 0;
|
|
285
301
|
for (const { ref, role, element } of refs) {
|
|
@@ -303,7 +319,13 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
|
|
|
303
319
|
bottom: labelTop + LABEL_HEIGHT,
|
|
304
320
|
};
|
|
305
321
|
// Skip if this label would overlap with any already-placed label
|
|
306
|
-
|
|
322
|
+
let overlaps = false;
|
|
323
|
+
for (const placed of placedLabels) {
|
|
324
|
+
if (rectsOverlap(labelRect, placed)) {
|
|
325
|
+
overlaps = true;
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
307
329
|
if (overlaps) {
|
|
308
330
|
continue;
|
|
309
331
|
}
|
|
@@ -323,12 +345,12 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
|
|
|
323
345
|
count++;
|
|
324
346
|
}
|
|
325
347
|
doc.documentElement.appendChild(container);
|
|
326
|
-
// Auto-hide labels after
|
|
348
|
+
// Auto-hide labels after 30 seconds to prevent stale labels
|
|
327
349
|
// Store timer ID so it can be cancelled if showAriaRefLabels is called again
|
|
328
|
-
win[timerKey] = win.setTimeout(()
|
|
350
|
+
win[timerKey] = win.setTimeout(function () {
|
|
329
351
|
doc.getElementById(containerId)?.remove();
|
|
330
352
|
win[timerKey] = null;
|
|
331
|
-
},
|
|
353
|
+
}, 30000);
|
|
332
354
|
return count;
|
|
333
355
|
}, {
|
|
334
356
|
refs: refsWithRoles.map(({ ref, role, element }) => ({ ref, role, element })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aria-snapshot.js","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aria-snapshot.js","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "playwriter",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.39",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"repository": "https://github.com/remorses/playwriter",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "rm -rf dist *.tsbuildinfo && mkdir dist && bun scripts/build-selector-generator.ts && bun scripts/build-bippy.ts && tsc && bun scripts/build-resources.ts",
|
|
11
|
+
"prepublishOnly": "pnpm build",
|
|
12
|
+
"watch": "tsc -w",
|
|
13
|
+
"typecheck": "tsc --noEmit",
|
|
14
|
+
"mcp": "vite-node src/mcp.ts",
|
|
15
|
+
"test": "vitest run -u",
|
|
16
|
+
"test:watch": "vitest"
|
|
17
|
+
},
|
|
9
18
|
"bin": "./bin.js",
|
|
10
19
|
"files": [
|
|
11
20
|
"dist",
|
|
@@ -25,9 +34,9 @@
|
|
|
25
34
|
"@vitest/ui": "^4.0.8",
|
|
26
35
|
"bippy": "^0.5.27",
|
|
27
36
|
"image-size": "^2.0.2",
|
|
37
|
+
"mcp-extension": "workspace:*",
|
|
28
38
|
"vite-node": "^5.0.0",
|
|
29
|
-
"vitest": "^4.0.8"
|
|
30
|
-
"mcp-extension": "0.0.65"
|
|
39
|
+
"vitest": "^4.0.8"
|
|
31
40
|
},
|
|
32
41
|
"dependencies": {
|
|
33
42
|
"@hono/node-server": "^1.19.6",
|
|
@@ -46,13 +55,5 @@
|
|
|
46
55
|
"user-agents": "^1.1.669",
|
|
47
56
|
"ws": "^8.18.3",
|
|
48
57
|
"zod": "^3"
|
|
49
|
-
},
|
|
50
|
-
"scripts": {
|
|
51
|
-
"build": "rm -rf dist *.tsbuildinfo && mkdir dist && bun scripts/build-selector-generator.ts && bun scripts/build-bippy.ts && tsc && bun scripts/build-resources.ts",
|
|
52
|
-
"watch": "tsc -w",
|
|
53
|
-
"typecheck": "tsc --noEmit",
|
|
54
|
-
"mcp": "vite-node src/mcp.ts",
|
|
55
|
-
"test": "vitest run -u",
|
|
56
|
-
"test:watch": "vitest"
|
|
57
58
|
}
|
|
58
|
-
}
|
|
59
|
+
}
|
package/src/aria-snapshot.ts
CHANGED
|
@@ -197,7 +197,7 @@ export async function getAriaSnapshot({ page }: { page: Page }): Promise<AriaSna
|
|
|
197
197
|
* Labels are yellow badges positioned above each element showing the aria ref (e.g., "e1", "e2").
|
|
198
198
|
* Use with screenshots so agents can see which elements are interactive.
|
|
199
199
|
*
|
|
200
|
-
* Labels auto-hide after
|
|
200
|
+
* Labels auto-hide after 30 seconds to prevent stale labels remaining on the page.
|
|
201
201
|
* Call this function again if the page HTML changes to get fresh labels.
|
|
202
202
|
*
|
|
203
203
|
* By default, only shows labels for truly interactive roles (button, link, textbox, etc.)
|
|
@@ -209,7 +209,7 @@ export async function getAriaSnapshot({ page }: { page: Page }): Promise<AriaSna
|
|
|
209
209
|
* await page.screenshot({ path: '/tmp/screenshot.png' })
|
|
210
210
|
* // Agent sees [e5] label on "Submit" button
|
|
211
211
|
* await page.locator('aria-ref=e5').click()
|
|
212
|
-
* // Labels auto-hide after
|
|
212
|
+
* // Labels auto-hide after 30 seconds, or call hideAriaRefLabels() manually
|
|
213
213
|
* ```
|
|
214
214
|
*/
|
|
215
215
|
export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
@@ -238,10 +238,9 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
|
238
238
|
|
|
239
239
|
// Single evaluate call: create container, styles, and all labels
|
|
240
240
|
// ElementHandles get unwrapped to DOM elements in browser context
|
|
241
|
-
// Using 'any' types here since this code runs in browser context
|
|
242
241
|
const labelCount = await page.evaluate(
|
|
243
242
|
// Using 'any' for browser types since this runs in browser context
|
|
244
|
-
({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors }: {
|
|
243
|
+
function ({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors }: {
|
|
245
244
|
refs: Array<{
|
|
246
245
|
ref: string
|
|
247
246
|
role: string
|
|
@@ -252,7 +251,9 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
|
252
251
|
labelStyles: string
|
|
253
252
|
roleColors: Record<string, [string, string, string]>
|
|
254
253
|
defaultColors: [string, string, string]
|
|
255
|
-
})
|
|
254
|
+
}) {
|
|
255
|
+
// Polyfill esbuild's __name helper which gets injected by vite-node but doesn't exist in browser
|
|
256
|
+
;(globalThis as any).__name ||= (fn: any) => fn
|
|
256
257
|
const doc = (globalThis as any).document
|
|
257
258
|
const win = globalThis as any
|
|
258
259
|
|
|
@@ -285,8 +286,10 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
|
285
286
|
const LABEL_CHAR_WIDTH = 7 // approximate width per character
|
|
286
287
|
|
|
287
288
|
// Parse alpha from rgb/rgba color string (getComputedStyle always returns these formats)
|
|
288
|
-
|
|
289
|
-
if (color === 'transparent')
|
|
289
|
+
function getColorAlpha(color: string): number {
|
|
290
|
+
if (color === 'transparent') {
|
|
291
|
+
return 0
|
|
292
|
+
}
|
|
290
293
|
// Match rgba(r, g, b, a) or rgb(r, g, b)
|
|
291
294
|
const match = color.match(/rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(?:,\s*([\d.]+)\s*)?\)/)
|
|
292
295
|
if (match) {
|
|
@@ -296,25 +299,31 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
|
296
299
|
}
|
|
297
300
|
|
|
298
301
|
// Check if an element has an opaque background that would block elements behind it
|
|
299
|
-
|
|
302
|
+
function isOpaqueElement(el: any): boolean {
|
|
300
303
|
const style = win.getComputedStyle(el)
|
|
301
304
|
|
|
302
305
|
// Check element opacity
|
|
303
306
|
const opacity = parseFloat(style.opacity)
|
|
304
|
-
if (opacity < 0.1)
|
|
307
|
+
if (opacity < 0.1) {
|
|
308
|
+
return false
|
|
309
|
+
}
|
|
305
310
|
|
|
306
311
|
// Check background-color alpha
|
|
307
312
|
const bgAlpha = getColorAlpha(style.backgroundColor)
|
|
308
|
-
if (bgAlpha > 0.1)
|
|
313
|
+
if (bgAlpha > 0.1) {
|
|
314
|
+
return true
|
|
315
|
+
}
|
|
309
316
|
|
|
310
317
|
// Check if has background-image (usually opaque)
|
|
311
|
-
if (style.backgroundImage !== 'none')
|
|
318
|
+
if (style.backgroundImage !== 'none') {
|
|
319
|
+
return true
|
|
320
|
+
}
|
|
312
321
|
|
|
313
322
|
return false
|
|
314
323
|
}
|
|
315
324
|
|
|
316
325
|
// Check if element is visible (not covered by opaque overlay)
|
|
317
|
-
|
|
326
|
+
function isElementVisible(element: any, rect: any): boolean {
|
|
318
327
|
const centerX = rect.left + rect.width / 2
|
|
319
328
|
const centerY = rect.top + rect.height / 2
|
|
320
329
|
|
|
@@ -322,32 +331,44 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
|
322
331
|
const stack = doc.elementsFromPoint(centerX, centerY) as any[]
|
|
323
332
|
|
|
324
333
|
// Find our target element in the stack
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
334
|
+
let targetIndex = -1
|
|
335
|
+
for (let i = 0; i < stack.length; i++) {
|
|
336
|
+
if (element.contains(stack[i]) || stack[i].contains(element)) {
|
|
337
|
+
targetIndex = i
|
|
338
|
+
break
|
|
339
|
+
}
|
|
340
|
+
}
|
|
328
341
|
|
|
329
342
|
// Element not in stack at all - not visible
|
|
330
|
-
if (targetIndex === -1)
|
|
343
|
+
if (targetIndex === -1) {
|
|
344
|
+
return false
|
|
345
|
+
}
|
|
331
346
|
|
|
332
347
|
// Check if any opaque element is above our target
|
|
333
348
|
for (let i = 0; i < targetIndex; i++) {
|
|
334
349
|
const el = stack[i]
|
|
335
350
|
// Skip our own overlay container
|
|
336
|
-
if (el.id === containerId)
|
|
351
|
+
if (el.id === containerId) {
|
|
352
|
+
continue
|
|
353
|
+
}
|
|
337
354
|
// Skip pointer-events: none elements (decorative overlays)
|
|
338
|
-
if (win.getComputedStyle(el).pointerEvents === 'none')
|
|
355
|
+
if (win.getComputedStyle(el).pointerEvents === 'none') {
|
|
356
|
+
continue
|
|
357
|
+
}
|
|
339
358
|
// If this element is opaque, our target is blocked
|
|
340
|
-
if (isOpaqueElement(el))
|
|
359
|
+
if (isOpaqueElement(el)) {
|
|
360
|
+
return false
|
|
361
|
+
}
|
|
341
362
|
}
|
|
342
363
|
|
|
343
364
|
return true
|
|
344
365
|
}
|
|
345
366
|
|
|
346
367
|
// Check if two rectangles overlap
|
|
347
|
-
|
|
368
|
+
function rectsOverlap(
|
|
348
369
|
a: { left: number; top: number; right: number; bottom: number },
|
|
349
370
|
b: { left: number; top: number; right: number; bottom: number }
|
|
350
|
-
)
|
|
371
|
+
) {
|
|
351
372
|
return a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top
|
|
352
373
|
}
|
|
353
374
|
|
|
@@ -378,7 +399,13 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
|
378
399
|
}
|
|
379
400
|
|
|
380
401
|
// Skip if this label would overlap with any already-placed label
|
|
381
|
-
|
|
402
|
+
let overlaps = false
|
|
403
|
+
for (const placed of placedLabels) {
|
|
404
|
+
if (rectsOverlap(labelRect, placed)) {
|
|
405
|
+
overlaps = true
|
|
406
|
+
break
|
|
407
|
+
}
|
|
408
|
+
}
|
|
382
409
|
if (overlaps) {
|
|
383
410
|
continue
|
|
384
411
|
}
|
|
@@ -404,12 +431,12 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
|
|
|
404
431
|
|
|
405
432
|
doc.documentElement.appendChild(container)
|
|
406
433
|
|
|
407
|
-
// Auto-hide labels after
|
|
434
|
+
// Auto-hide labels after 30 seconds to prevent stale labels
|
|
408
435
|
// Store timer ID so it can be cancelled if showAriaRefLabels is called again
|
|
409
|
-
win[timerKey] = win.setTimeout(()
|
|
436
|
+
win[timerKey] = win.setTimeout(function() {
|
|
410
437
|
doc.getElementById(containerId)?.remove()
|
|
411
438
|
win[timerKey] = null
|
|
412
|
-
},
|
|
439
|
+
}, 30000)
|
|
413
440
|
|
|
414
441
|
return count
|
|
415
442
|
},
|
package/src/prompt.md
CHANGED
|
@@ -206,7 +206,7 @@ const matches = await editor.grep({ regex: /console\.log/ });
|
|
|
206
206
|
await editor.edit({ url: matches[0].url, oldString: 'DEBUG = false', newString: 'DEBUG = true' });
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
**showAriaRefLabels** - overlay Vimium-style visual labels on interactive elements. Useful for taking screenshots where you can see element references. Labels auto-hide after
|
|
209
|
+
**showAriaRefLabels** - overlay Vimium-style visual labels on interactive elements. Useful for taking screenshots where you can see element references. Labels auto-hide after 30 seconds. Call again if page HTML changes or scrolls to get fresh labels. Use a timeout of 10 seconds at least.
|
|
210
210
|
|
|
211
211
|
```js
|
|
212
212
|
const { snapshot, labelCount } = await showAriaRefLabels({ page });
|
|
@@ -218,7 +218,7 @@ await page.locator('aria-ref=e5').click();
|
|
|
218
218
|
|
|
219
219
|
Labels are color-coded: yellow=links, orange=buttons, coral=inputs, pink=checkboxes, peach=sliders, salmon=menus, amber=tabs.
|
|
220
220
|
|
|
221
|
-
**hideAriaRefLabels** - manually remove labels before the
|
|
221
|
+
**hideAriaRefLabels** - manually remove labels before the 30-second auto-hide:
|
|
222
222
|
|
|
223
223
|
```js
|
|
224
224
|
await hideAriaRefLabels({ page });
|