@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.
@@ -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 an option from a dropdown. */
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
- /** Set extra HTTP headers for all requests. */
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
- /** Set up automatic dialog handling for event-based dialog listeners. */
558
- private _setupDialogAutoHandle;
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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"}
@@ -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 an option from a dropdown. */
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 value = extractSelectValue(values);
580
- await this._client.execute('browser_pick', {
581
- context_id: this._contextId,
582
- selector,
583
- value,
584
- });
585
- return [value];
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
- await this._client.execute('browser_wait_for_network_idle', params);
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
- // Set up dialog auto-handling when dialog listener is registered
1018
- if (event === 'dialog') {
1019
- this._setupDialogAutoHandle().catch(() => {
1020
- // Non-critical setup failure
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
- /** Set extra HTTP headers for all requests. */
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
- await this._client.execute('browser_set_headers', {
1092
- context_id: this._contextId,
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
- return [new Locator(this, selector)];
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
- /** Set up automatic dialog handling for event-based dialog listeners. */
1401
- async _setupDialogAutoHandle() {
1402
- // Auto-accept dialogs by default when listener is registered
1403
- // The listener will get the dialog info and can override
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 a single option value from SelectOptionValue. */
1463
- function extractSelectValue(values) {
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
- const first = values[0];
1468
- if (first === undefined)
1469
- return '';
1470
- if (typeof first === 'string')
1471
- return first;
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