@olib-ai/owl-browser-sdk 2.0.6 → 2.0.9
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/playwright/context.d.ts +6 -0
- package/dist/playwright/context.d.ts.map +1 -1
- package/dist/playwright/context.js +66 -14
- package/dist/playwright/context.js.map +1 -1
- package/dist/playwright/locator.d.ts +1 -1
- package/dist/playwright/locator.d.ts.map +1 -1
- package/dist/playwright/locator.js +30 -9
- package/dist/playwright/locator.js.map +1 -1
- package/dist/playwright/page-helpers.d.ts +8 -2
- package/dist/playwright/page-helpers.d.ts.map +1 -1
- package/dist/playwright/page-helpers.js +32 -6
- package/dist/playwright/page-helpers.js.map +1 -1
- package/dist/playwright/page.d.ts +46 -7
- package/dist/playwright/page.d.ts.map +1 -1
- package/dist/playwright/page.js +261 -39
- package/dist/playwright/page.js.map +1 -1
- package/openapi.json +284 -46
- package/package.json +1 -1
|
@@ -94,6 +94,10 @@ export declare class Page {
|
|
|
94
94
|
private readonly _routes;
|
|
95
95
|
private readonly _eventHandlers;
|
|
96
96
|
private _video;
|
|
97
|
+
private _dialogPollTimer;
|
|
98
|
+
private _consolePollTimer;
|
|
99
|
+
private _consoleLogOffset;
|
|
100
|
+
private _dialogSetupReady;
|
|
97
101
|
constructor(client: OwlBrowser, contextId: string, tabId?: string);
|
|
98
102
|
/** The Keyboard instance for this page. */
|
|
99
103
|
get keyboard(): Keyboard;
|
|
@@ -280,7 +284,7 @@ export declare class Page {
|
|
|
280
284
|
focus(selector: string, options?: FocusOptions): Promise<void>;
|
|
281
285
|
/** Blur the currently focused element. */
|
|
282
286
|
blur(selector: string): Promise<void>;
|
|
283
|
-
/** Select
|
|
287
|
+
/** Select option(s) from a dropdown. Calls browser_pick once per value. */
|
|
284
288
|
selectOption(selector: string, values: SelectOptionValue, options?: SelectOptionOptions): Promise<string[]>;
|
|
285
289
|
/** Check a checkbox (no-op if already checked). */
|
|
286
290
|
check(selector: string, options?: CheckOptions): Promise<void>;
|
|
@@ -304,6 +308,8 @@ export declare class Page {
|
|
|
304
308
|
textContent(selector: string): Promise<string | null>;
|
|
305
309
|
/** Get the inner HTML of an element. */
|
|
306
310
|
innerHTML(selector: string): Promise<string>;
|
|
311
|
+
/** Get the inner text of an element (visible text only). */
|
|
312
|
+
innerText(selector: string): Promise<string>;
|
|
307
313
|
/** Get an attribute value from an element. */
|
|
308
314
|
getAttribute(selector: string, name: string): Promise<string | null>;
|
|
309
315
|
/** Get the bounding box of an element. */
|
|
@@ -377,6 +383,30 @@ export declare class Page {
|
|
|
377
383
|
waitForLoadState(state?: LoadState, options?: WaitForLoadStateOptions): Promise<void>;
|
|
378
384
|
/** Wait for a specific event to fire. */
|
|
379
385
|
waitForEvent(event: string, optionsOrPredicate?: WaitForEventOptions | ((data: unknown) => boolean)): Promise<unknown>;
|
|
386
|
+
/**
|
|
387
|
+
* Wait for a network response matching the given URL/predicate.
|
|
388
|
+
*
|
|
389
|
+
* Enables network logging and polls browser_get_network_log for matches.
|
|
390
|
+
*
|
|
391
|
+
* @param urlOrPredicate - URL string, RegExp, or predicate function
|
|
392
|
+
* @param options - Wait options (timeout)
|
|
393
|
+
* @returns A Response object for the matching network entry
|
|
394
|
+
*/
|
|
395
|
+
waitForResponse(urlOrPredicate: string | RegExp | ((response: Response) => boolean), options?: {
|
|
396
|
+
timeout?: number;
|
|
397
|
+
}): Promise<Response>;
|
|
398
|
+
/**
|
|
399
|
+
* Wait for a network request matching the given URL/predicate.
|
|
400
|
+
*
|
|
401
|
+
* @param urlOrPredicate - URL string or RegExp to match
|
|
402
|
+
* @param options - Wait options (timeout)
|
|
403
|
+
*/
|
|
404
|
+
waitForRequest(urlOrPredicate: string | RegExp, options?: {
|
|
405
|
+
timeout?: number;
|
|
406
|
+
}): Promise<{
|
|
407
|
+
url(): string;
|
|
408
|
+
method(): string;
|
|
409
|
+
}>;
|
|
380
410
|
/**
|
|
381
411
|
* Intercept network requests matching a URL pattern.
|
|
382
412
|
*
|
|
@@ -429,7 +459,12 @@ export declare class Page {
|
|
|
429
459
|
* @param options - Media emulation options (colorScheme, reducedMotion)
|
|
430
460
|
*/
|
|
431
461
|
emulateMedia(options?: EmulateMediaOptions): Promise<void>;
|
|
432
|
-
/**
|
|
462
|
+
/**
|
|
463
|
+
* Set extra HTTP headers for all requests.
|
|
464
|
+
*
|
|
465
|
+
* No-op: Owl Browser does not support runtime header injection.
|
|
466
|
+
* Custom headers should be configured at context creation via VM profiles.
|
|
467
|
+
*/
|
|
433
468
|
setExtraHTTPHeaders(headers: Record<string, string>): Promise<void>;
|
|
434
469
|
/** Scroll by pixel delta. */
|
|
435
470
|
scrollBy(deltaX: number, deltaY: number): Promise<void>;
|
|
@@ -485,8 +520,8 @@ export declare class Page {
|
|
|
485
520
|
locator(selector: string): Locator;
|
|
486
521
|
/** Query a single element (alias for locator). */
|
|
487
522
|
$(selector: string): Locator;
|
|
488
|
-
/** Query all matching elements. */
|
|
489
|
-
$$(selector: string): Locator[]
|
|
523
|
+
/** Query all matching elements (returns locators for each match). */
|
|
524
|
+
$$(selector: string): Promise<Locator[]>;
|
|
490
525
|
/** Get a locator by text content. */
|
|
491
526
|
getByText(text: string | RegExp, options?: {
|
|
492
527
|
exact?: boolean;
|
|
@@ -514,8 +549,10 @@ export declare class Page {
|
|
|
514
549
|
}): Locator;
|
|
515
550
|
/** Get a locator by data-testid attribute. */
|
|
516
551
|
getByTestId(testId: string | RegExp): Locator;
|
|
517
|
-
/** Get all frames on the page. */
|
|
552
|
+
/** Get all frames on the page (cached, returns main frame). */
|
|
518
553
|
frames(): Frame[];
|
|
554
|
+
/** Get all frames by querying the browser. */
|
|
555
|
+
framesAsync(): Promise<Frame[]>;
|
|
519
556
|
/** Get a frame by name or URL. */
|
|
520
557
|
frame(nameOrUrl: string | {
|
|
521
558
|
name?: string;
|
|
@@ -554,8 +591,10 @@ export declare class Page {
|
|
|
554
591
|
setDialogAction(dialogType: string, action: string, promptText?: string): Promise<void>;
|
|
555
592
|
/** Sync the internal URL cache with the actual page URL. */
|
|
556
593
|
private _syncUrl;
|
|
557
|
-
/**
|
|
558
|
-
private
|
|
594
|
+
/** Start polling for dialogs and dispatching to event handlers. */
|
|
595
|
+
private _startDialogPolling;
|
|
596
|
+
/** Start polling for console messages and dispatching to event handlers. */
|
|
597
|
+
private _startConsolePolling;
|
|
559
598
|
/** Wait for a download event. */
|
|
560
599
|
private _waitForDownload;
|
|
561
600
|
/** Wait for a dialog event. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/playwright/page.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/playwright/page.ts"],"names":[],"mappings":"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"}
|
package/dist/playwright/page.js
CHANGED
|
@@ -17,7 +17,7 @@ import { createResponse } from './response.js';
|
|
|
17
17
|
import { Keyboard } from './keyboard.js';
|
|
18
18
|
import { Mouse } from './mouse.js';
|
|
19
19
|
import { Frame, FrameLocator } from './frame.js';
|
|
20
|
-
import { Locator } from './locator.js';
|
|
20
|
+
import { Locator, NthLocator } from './locator.js';
|
|
21
21
|
import { Route, Dialog, ConsoleMessage, Download, Video, } from './page-helpers.js';
|
|
22
22
|
/**
|
|
23
23
|
* Page provides the main API for interacting with a single browser tab.
|
|
@@ -46,6 +46,10 @@ export class Page {
|
|
|
46
46
|
_routes = [];
|
|
47
47
|
_eventHandlers = new Map();
|
|
48
48
|
_video = null;
|
|
49
|
+
_dialogPollTimer = null;
|
|
50
|
+
_consolePollTimer = null;
|
|
51
|
+
_consoleLogOffset = 0;
|
|
52
|
+
_dialogSetupReady = null;
|
|
49
53
|
constructor(client, contextId, tabId) {
|
|
50
54
|
this._client = client;
|
|
51
55
|
this._contextId = contextId;
|
|
@@ -119,6 +123,7 @@ export class Page {
|
|
|
119
123
|
}
|
|
120
124
|
const result = await this._client.execute('browser_navigate', params);
|
|
121
125
|
this._url = url;
|
|
126
|
+
await this._syncUrl();
|
|
122
127
|
return createResponse(result);
|
|
123
128
|
}
|
|
124
129
|
/**
|
|
@@ -474,6 +479,11 @@ export class Page {
|
|
|
474
479
|
* @param options - Click options (button, clickCount, etc.)
|
|
475
480
|
*/
|
|
476
481
|
async click(selector, options) {
|
|
482
|
+
// Ensure dialog setup is complete before interacting (prevents race condition)
|
|
483
|
+
if (this._dialogSetupReady) {
|
|
484
|
+
await this._dialogSetupReady;
|
|
485
|
+
this._dialogSetupReady = null;
|
|
486
|
+
}
|
|
477
487
|
if (options?.button === 'right') {
|
|
478
488
|
await this._client.execute('browser_right_click', {
|
|
479
489
|
context_id: this._contextId,
|
|
@@ -573,16 +583,18 @@ export class Page {
|
|
|
573
583
|
selector,
|
|
574
584
|
});
|
|
575
585
|
}
|
|
576
|
-
/** Select
|
|
586
|
+
/** Select option(s) from a dropdown. Calls browser_pick once per value. */
|
|
577
587
|
async selectOption(selector, values, options) {
|
|
578
588
|
void options;
|
|
579
|
-
const
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
589
|
+
const valueList = extractSelectValues(values);
|
|
590
|
+
for (const value of valueList) {
|
|
591
|
+
await this._client.execute('browser_pick', {
|
|
592
|
+
context_id: this._contextId,
|
|
593
|
+
selector,
|
|
594
|
+
value,
|
|
595
|
+
});
|
|
596
|
+
}
|
|
597
|
+
return valueList;
|
|
586
598
|
}
|
|
587
599
|
/** Check a checkbox (no-op if already checked). */
|
|
588
600
|
async check(selector, options) {
|
|
@@ -666,6 +678,11 @@ export class Page {
|
|
|
666
678
|
const res = result;
|
|
667
679
|
return String(res['html'] ?? res['result'] ?? '');
|
|
668
680
|
}
|
|
681
|
+
/** Get the inner text of an element (visible text only). */
|
|
682
|
+
async innerText(selector) {
|
|
683
|
+
const text = await this.textContent(selector);
|
|
684
|
+
return text ?? '';
|
|
685
|
+
}
|
|
669
686
|
/** Get an attribute value from an element. */
|
|
670
687
|
async getAttribute(selector, name) {
|
|
671
688
|
const result = await this._client.execute('browser_get_attribute', {
|
|
@@ -789,6 +806,11 @@ export class Page {
|
|
|
789
806
|
* @returns The result of the evaluation
|
|
790
807
|
*/
|
|
791
808
|
async evaluate(pageFunction, arg) {
|
|
809
|
+
// Ensure dialog setup is complete before evaluating (prevents race condition)
|
|
810
|
+
if (this._dialogSetupReady) {
|
|
811
|
+
await this._dialogSetupReady;
|
|
812
|
+
this._dialogSetupReady = null;
|
|
813
|
+
}
|
|
792
814
|
const expression = typeof pageFunction === 'function'
|
|
793
815
|
? `(${pageFunction.toString()})(${arg !== undefined ? JSON.stringify(arg) : ''})`
|
|
794
816
|
: pageFunction;
|
|
@@ -900,14 +922,28 @@ export class Page {
|
|
|
900
922
|
}
|
|
901
923
|
/** Wait for the page to reach a specific load state. */
|
|
902
924
|
async waitForLoadState(state, options) {
|
|
903
|
-
void state;
|
|
904
925
|
const params = {
|
|
905
926
|
context_id: this._contextId,
|
|
906
927
|
};
|
|
907
928
|
if (options?.timeout !== undefined) {
|
|
908
929
|
params['timeout'] = options.timeout;
|
|
909
930
|
}
|
|
910
|
-
|
|
931
|
+
if (state === 'domcontentloaded') {
|
|
932
|
+
await this._client.execute('browser_wait_for_selector', {
|
|
933
|
+
...params,
|
|
934
|
+
selector: 'body',
|
|
935
|
+
});
|
|
936
|
+
}
|
|
937
|
+
else if (state === 'load') {
|
|
938
|
+
await this._client.execute('browser_wait_for_function', {
|
|
939
|
+
...params,
|
|
940
|
+
js_function: 'document.readyState === "complete"',
|
|
941
|
+
});
|
|
942
|
+
}
|
|
943
|
+
else {
|
|
944
|
+
// 'networkidle' or undefined — default behavior
|
|
945
|
+
await this._client.execute('browser_wait_for_network_idle', params);
|
|
946
|
+
}
|
|
911
947
|
}
|
|
912
948
|
/** Wait for a specific event to fire. */
|
|
913
949
|
async waitForEvent(event, optionsOrPredicate) {
|
|
@@ -928,6 +964,90 @@ export class Page {
|
|
|
928
964
|
await this.waitForTimeout(Math.min(timeout, 1000));
|
|
929
965
|
return null;
|
|
930
966
|
}
|
|
967
|
+
/**
|
|
968
|
+
* Wait for a network response matching the given URL/predicate.
|
|
969
|
+
*
|
|
970
|
+
* Enables network logging and polls browser_get_network_log for matches.
|
|
971
|
+
*
|
|
972
|
+
* @param urlOrPredicate - URL string, RegExp, or predicate function
|
|
973
|
+
* @param options - Wait options (timeout)
|
|
974
|
+
* @returns A Response object for the matching network entry
|
|
975
|
+
*/
|
|
976
|
+
async waitForResponse(urlOrPredicate, options) {
|
|
977
|
+
const timeout = options?.timeout ?? 30000;
|
|
978
|
+
await this._client.execute('browser_enable_network_logging', {
|
|
979
|
+
context_id: this._contextId,
|
|
980
|
+
enable: true,
|
|
981
|
+
});
|
|
982
|
+
const start = Date.now();
|
|
983
|
+
while (Date.now() - start < timeout) {
|
|
984
|
+
const result = await this._client.execute('browser_get_network_log', {
|
|
985
|
+
context_id: this._contextId,
|
|
986
|
+
});
|
|
987
|
+
const res = result;
|
|
988
|
+
// browser_get_network_log returns { requests: [...], responses: [...] }
|
|
989
|
+
const entries = (res['responses'] ?? []);
|
|
990
|
+
if (Array.isArray(entries)) {
|
|
991
|
+
for (const entry of entries) {
|
|
992
|
+
const entryUrl = String(entry['url'] ?? '');
|
|
993
|
+
const status = Number(entry['status'] ?? entry['statusCode'] ?? 0);
|
|
994
|
+
if (typeof urlOrPredicate === 'string') {
|
|
995
|
+
if (entryUrl.includes(urlOrPredicate) && status > 0) {
|
|
996
|
+
return createResponse({ url: entryUrl, status });
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
else if (urlOrPredicate instanceof RegExp) {
|
|
1000
|
+
if (urlOrPredicate.test(entryUrl) && status > 0) {
|
|
1001
|
+
return createResponse({ url: entryUrl, status });
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
// Predicate support would require constructing a full Response first
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
await this.waitForTimeout(200);
|
|
1008
|
+
}
|
|
1009
|
+
throw new Error(`Timeout waiting for response (${timeout}ms)`);
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Wait for a network request matching the given URL/predicate.
|
|
1013
|
+
*
|
|
1014
|
+
* @param urlOrPredicate - URL string or RegExp to match
|
|
1015
|
+
* @param options - Wait options (timeout)
|
|
1016
|
+
*/
|
|
1017
|
+
async waitForRequest(urlOrPredicate, options) {
|
|
1018
|
+
const timeout = options?.timeout ?? 30000;
|
|
1019
|
+
await this._client.execute('browser_enable_network_logging', {
|
|
1020
|
+
context_id: this._contextId,
|
|
1021
|
+
enable: true,
|
|
1022
|
+
});
|
|
1023
|
+
const start = Date.now();
|
|
1024
|
+
while (Date.now() - start < timeout) {
|
|
1025
|
+
const result = await this._client.execute('browser_get_network_log', {
|
|
1026
|
+
context_id: this._contextId,
|
|
1027
|
+
});
|
|
1028
|
+
const res = result;
|
|
1029
|
+
// browser_get_network_log returns { requests: [...], responses: [...] }
|
|
1030
|
+
const entries = (res['requests'] ?? []);
|
|
1031
|
+
if (Array.isArray(entries)) {
|
|
1032
|
+
for (const entry of entries) {
|
|
1033
|
+
const entryUrl = String(entry['url'] ?? '');
|
|
1034
|
+
const method = String(entry['method'] ?? 'GET');
|
|
1035
|
+
if (typeof urlOrPredicate === 'string') {
|
|
1036
|
+
if (entryUrl.includes(urlOrPredicate)) {
|
|
1037
|
+
return { url: () => entryUrl, method: () => method };
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
else if (urlOrPredicate instanceof RegExp) {
|
|
1041
|
+
if (urlOrPredicate.test(entryUrl)) {
|
|
1042
|
+
return { url: () => entryUrl, method: () => method };
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
await this.waitForTimeout(200);
|
|
1048
|
+
}
|
|
1049
|
+
throw new Error(`Timeout waiting for request (${timeout}ms)`);
|
|
1050
|
+
}
|
|
931
1051
|
// ==================== Network Interception ====================
|
|
932
1052
|
/**
|
|
933
1053
|
* Intercept network requests matching a URL pattern.
|
|
@@ -1014,11 +1134,12 @@ export class Page {
|
|
|
1014
1134
|
const handlers = this._eventHandlers.get(event) ?? [];
|
|
1015
1135
|
handlers.push(handler);
|
|
1016
1136
|
this._eventHandlers.set(event, handlers);
|
|
1017
|
-
//
|
|
1018
|
-
if (event === 'dialog') {
|
|
1019
|
-
this.
|
|
1020
|
-
|
|
1021
|
-
|
|
1137
|
+
// Start background polling when relevant event listeners are registered
|
|
1138
|
+
if (event === 'dialog' && !this._dialogPollTimer) {
|
|
1139
|
+
this._startDialogPolling();
|
|
1140
|
+
}
|
|
1141
|
+
if (event === 'console' && !this._consolePollTimer) {
|
|
1142
|
+
this._startConsolePolling();
|
|
1022
1143
|
}
|
|
1023
1144
|
return this;
|
|
1024
1145
|
}
|
|
@@ -1086,12 +1207,15 @@ export class Page {
|
|
|
1086
1207
|
}
|
|
1087
1208
|
// Media type and other options require CDP which Owl wraps differently
|
|
1088
1209
|
}
|
|
1089
|
-
/**
|
|
1210
|
+
/**
|
|
1211
|
+
* Set extra HTTP headers for all requests.
|
|
1212
|
+
*
|
|
1213
|
+
* No-op: Owl Browser does not support runtime header injection.
|
|
1214
|
+
* Custom headers should be configured at context creation via VM profiles.
|
|
1215
|
+
*/
|
|
1090
1216
|
async setExtraHTTPHeaders(headers) {
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
headers: JSON.stringify(headers),
|
|
1094
|
-
});
|
|
1217
|
+
void headers;
|
|
1218
|
+
// Not supported — requires VM profile configuration at context creation
|
|
1095
1219
|
}
|
|
1096
1220
|
// ==================== Scrolling & Zoom ====================
|
|
1097
1221
|
/** Scroll by pixel delta. */
|
|
@@ -1238,9 +1362,15 @@ export class Page {
|
|
|
1238
1362
|
$(selector) {
|
|
1239
1363
|
return new Locator(this, selector);
|
|
1240
1364
|
}
|
|
1241
|
-
/** Query all matching elements. */
|
|
1242
|
-
$$(selector) {
|
|
1243
|
-
|
|
1365
|
+
/** Query all matching elements (returns locators for each match). */
|
|
1366
|
+
async $$(selector) {
|
|
1367
|
+
const loc = new Locator(this, selector);
|
|
1368
|
+
const n = await loc.count();
|
|
1369
|
+
const locators = [];
|
|
1370
|
+
for (let i = 0; i < n; i++) {
|
|
1371
|
+
locators.push(new NthLocator(this, loc._selector, i));
|
|
1372
|
+
}
|
|
1373
|
+
return locators;
|
|
1244
1374
|
}
|
|
1245
1375
|
/** Get a locator by text content. */
|
|
1246
1376
|
getByText(text, options) {
|
|
@@ -1286,10 +1416,31 @@ export class Page {
|
|
|
1286
1416
|
return new Locator(this, `data-testid=${idStr}`);
|
|
1287
1417
|
}
|
|
1288
1418
|
// ==================== Frames ====================
|
|
1289
|
-
/** Get all frames on the page. */
|
|
1419
|
+
/** Get all frames on the page (cached, returns main frame). */
|
|
1290
1420
|
frames() {
|
|
1291
1421
|
return [this._mainFrame];
|
|
1292
1422
|
}
|
|
1423
|
+
/** Get all frames by querying the browser. */
|
|
1424
|
+
async framesAsync() {
|
|
1425
|
+
try {
|
|
1426
|
+
const result = await this._client.execute('browser_list_frames', {
|
|
1427
|
+
context_id: this._contextId,
|
|
1428
|
+
});
|
|
1429
|
+
// browser_list_frames returns a JSON array directly
|
|
1430
|
+
const frames = Array.isArray(result) ? result : [];
|
|
1431
|
+
if (frames.length === 0)
|
|
1432
|
+
return [this._mainFrame];
|
|
1433
|
+
return frames.map((f) => {
|
|
1434
|
+
const entry = f;
|
|
1435
|
+
const id = String(entry['frame_id'] ?? entry['id'] ?? '');
|
|
1436
|
+
const name = String(entry['name'] ?? '');
|
|
1437
|
+
return new Frame(this._client, this._contextId, id, name || id);
|
|
1438
|
+
});
|
|
1439
|
+
}
|
|
1440
|
+
catch {
|
|
1441
|
+
return [this._mainFrame];
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1293
1444
|
/** Get a frame by name or URL. */
|
|
1294
1445
|
frame(nameOrUrl) {
|
|
1295
1446
|
if (typeof nameOrUrl === 'string') {
|
|
@@ -1311,6 +1462,14 @@ export class Page {
|
|
|
1311
1462
|
/** Close the page/tab. */
|
|
1312
1463
|
async close() {
|
|
1313
1464
|
this._closed = true;
|
|
1465
|
+
if (this._dialogPollTimer) {
|
|
1466
|
+
clearTimeout(this._dialogPollTimer);
|
|
1467
|
+
this._dialogPollTimer = null;
|
|
1468
|
+
}
|
|
1469
|
+
if (this._consolePollTimer) {
|
|
1470
|
+
clearTimeout(this._consolePollTimer);
|
|
1471
|
+
this._consolePollTimer = null;
|
|
1472
|
+
}
|
|
1314
1473
|
if (this._tabId) {
|
|
1315
1474
|
try {
|
|
1316
1475
|
await this._client.execute('browser_close_tab', {
|
|
@@ -1397,10 +1556,74 @@ export class Page {
|
|
|
1397
1556
|
// Non-critical; URL cache may be stale
|
|
1398
1557
|
}
|
|
1399
1558
|
}
|
|
1400
|
-
/**
|
|
1401
|
-
|
|
1402
|
-
//
|
|
1403
|
-
|
|
1559
|
+
/** Start polling for dialogs and dispatching to event handlers. */
|
|
1560
|
+
_startDialogPolling() {
|
|
1561
|
+
// Set all dialog types to "wait" mode so dialogs stay pending for our poll
|
|
1562
|
+
this._dialogSetupReady = Promise.allSettled(['alert', 'confirm', 'prompt', 'beforeunload'].map(dt => this._client.execute('browser_set_dialog_action', {
|
|
1563
|
+
context_id: this._contextId,
|
|
1564
|
+
dialog_type: dt,
|
|
1565
|
+
action: 'wait',
|
|
1566
|
+
}))).then(() => { });
|
|
1567
|
+
const poll = async () => {
|
|
1568
|
+
if (this._closed)
|
|
1569
|
+
return;
|
|
1570
|
+
try {
|
|
1571
|
+
const result = await this._client.execute('browser_get_pending_dialog', {
|
|
1572
|
+
context_id: this._contextId,
|
|
1573
|
+
});
|
|
1574
|
+
const res = result;
|
|
1575
|
+
const dialogType = res['dialog_type'] ?? res['type'];
|
|
1576
|
+
if (dialogType) {
|
|
1577
|
+
const dialog = new Dialog(this._client, String(dialogType), String(res['message'] ?? ''), String(res['default_value'] ?? ''), String(res['dialog_id'] ?? res['id'] ?? ''));
|
|
1578
|
+
const handlers = this._eventHandlers.get('dialog') ?? [];
|
|
1579
|
+
for (const handler of handlers) {
|
|
1580
|
+
try {
|
|
1581
|
+
await handler(dialog);
|
|
1582
|
+
}
|
|
1583
|
+
catch {
|
|
1584
|
+
// Handler error; ignore
|
|
1585
|
+
}
|
|
1586
|
+
}
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
catch {
|
|
1590
|
+
// No dialog pending or error; ignore
|
|
1591
|
+
}
|
|
1592
|
+
if (!this._closed) {
|
|
1593
|
+
this._dialogPollTimer = setTimeout(poll, 250);
|
|
1594
|
+
}
|
|
1595
|
+
};
|
|
1596
|
+
this._dialogPollTimer = setTimeout(poll, 250);
|
|
1597
|
+
}
|
|
1598
|
+
/** Start polling for console messages and dispatching to event handlers. */
|
|
1599
|
+
_startConsolePolling() {
|
|
1600
|
+
const poll = async () => {
|
|
1601
|
+
if (this._closed)
|
|
1602
|
+
return;
|
|
1603
|
+
try {
|
|
1604
|
+
const messages = await this.getConsoleMessages();
|
|
1605
|
+
const newMessages = messages.slice(this._consoleLogOffset);
|
|
1606
|
+
this._consoleLogOffset = messages.length;
|
|
1607
|
+
const handlers = this._eventHandlers.get('console') ?? [];
|
|
1608
|
+
for (const msg of newMessages) {
|
|
1609
|
+
for (const handler of handlers) {
|
|
1610
|
+
try {
|
|
1611
|
+
await handler(msg);
|
|
1612
|
+
}
|
|
1613
|
+
catch {
|
|
1614
|
+
// Handler error; ignore
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
}
|
|
1619
|
+
catch {
|
|
1620
|
+
// Error polling console; ignore
|
|
1621
|
+
}
|
|
1622
|
+
if (!this._closed) {
|
|
1623
|
+
this._consolePollTimer = setTimeout(poll, 500);
|
|
1624
|
+
}
|
|
1625
|
+
};
|
|
1626
|
+
this._consolePollTimer = setTimeout(poll, 500);
|
|
1404
1627
|
}
|
|
1405
1628
|
/** Wait for a download event. */
|
|
1406
1629
|
async _waitForDownload(timeout) {
|
|
@@ -1459,18 +1682,17 @@ function mapWaitUntil(value) {
|
|
|
1459
1682
|
return 'load';
|
|
1460
1683
|
}
|
|
1461
1684
|
}
|
|
1462
|
-
/** Extract
|
|
1463
|
-
function
|
|
1685
|
+
/** Extract all option values from SelectOptionValue as an array. */
|
|
1686
|
+
function extractSelectValues(values) {
|
|
1464
1687
|
if (typeof values === 'string')
|
|
1465
|
-
return values;
|
|
1688
|
+
return [values];
|
|
1466
1689
|
if (Array.isArray(values)) {
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
return first.value ?? first.label ?? '';
|
|
1690
|
+
return values.map((v) => {
|
|
1691
|
+
if (typeof v === 'string')
|
|
1692
|
+
return v;
|
|
1693
|
+
return v.value ?? v.label ?? '';
|
|
1694
|
+
}).filter(Boolean);
|
|
1473
1695
|
}
|
|
1474
|
-
return values.value ?? values.label ?? '';
|
|
1696
|
+
return [values.value ?? values.label ?? ''].filter(Boolean);
|
|
1475
1697
|
}
|
|
1476
1698
|
//# sourceMappingURL=page.js.map
|