@olib-ai/owl-browser-sdk 2.0.5 → 2.0.7

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.
Files changed (111) hide show
  1. package/README.md +107 -0
  2. package/dist/extraction/content-cleaner.d.ts +40 -0
  3. package/dist/extraction/content-cleaner.d.ts.map +1 -0
  4. package/dist/extraction/content-cleaner.js +393 -0
  5. package/dist/extraction/content-cleaner.js.map +1 -0
  6. package/dist/extraction/extractor.d.ts +139 -0
  7. package/dist/extraction/extractor.d.ts.map +1 -0
  8. package/dist/extraction/extractor.js +212 -0
  9. package/dist/extraction/extractor.js.map +1 -0
  10. package/dist/extraction/html-processor.d.ts +75 -0
  11. package/dist/extraction/html-processor.d.ts.map +1 -0
  12. package/dist/extraction/html-processor.js +192 -0
  13. package/dist/extraction/html-processor.js.map +1 -0
  14. package/dist/extraction/index.d.ts +14 -0
  15. package/dist/extraction/index.d.ts.map +1 -0
  16. package/dist/extraction/index.js +19 -0
  17. package/dist/extraction/index.js.map +1 -0
  18. package/dist/extraction/list-extractor.d.ts +24 -0
  19. package/dist/extraction/list-extractor.d.ts.map +1 -0
  20. package/dist/extraction/list-extractor.js +303 -0
  21. package/dist/extraction/list-extractor.js.map +1 -0
  22. package/dist/extraction/meta-extractor.d.ts +40 -0
  23. package/dist/extraction/meta-extractor.d.ts.map +1 -0
  24. package/dist/extraction/meta-extractor.js +216 -0
  25. package/dist/extraction/meta-extractor.js.map +1 -0
  26. package/dist/extraction/pagination.d.ts +29 -0
  27. package/dist/extraction/pagination.d.ts.map +1 -0
  28. package/dist/extraction/pagination.js +323 -0
  29. package/dist/extraction/pagination.js.map +1 -0
  30. package/dist/extraction/pattern-detector.d.ts +16 -0
  31. package/dist/extraction/pattern-detector.d.ts.map +1 -0
  32. package/dist/extraction/pattern-detector.js +390 -0
  33. package/dist/extraction/pattern-detector.js.map +1 -0
  34. package/dist/extraction/scrape-session.d.ts +23 -0
  35. package/dist/extraction/scrape-session.d.ts.map +1 -0
  36. package/dist/extraction/scrape-session.js +192 -0
  37. package/dist/extraction/scrape-session.js.map +1 -0
  38. package/dist/extraction/selector-engine.d.ts +23 -0
  39. package/dist/extraction/selector-engine.d.ts.map +1 -0
  40. package/dist/extraction/selector-engine.js +127 -0
  41. package/dist/extraction/selector-engine.js.map +1 -0
  42. package/dist/extraction/table-extractor.d.ts +29 -0
  43. package/dist/extraction/table-extractor.d.ts.map +1 -0
  44. package/dist/extraction/table-extractor.js +282 -0
  45. package/dist/extraction/table-extractor.js.map +1 -0
  46. package/dist/extraction/transforms.d.ts +47 -0
  47. package/dist/extraction/transforms.d.ts.map +1 -0
  48. package/dist/extraction/transforms.js +277 -0
  49. package/dist/extraction/transforms.js.map +1 -0
  50. package/dist/extraction/types.d.ts +199 -0
  51. package/dist/extraction/types.d.ts.map +1 -0
  52. package/dist/extraction/types.js +5 -0
  53. package/dist/extraction/types.js.map +1 -0
  54. package/dist/index.d.ts +1 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +2 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/playwright/browser-type.d.ts +101 -0
  59. package/dist/playwright/browser-type.d.ts.map +1 -0
  60. package/dist/playwright/browser-type.js +134 -0
  61. package/dist/playwright/browser-type.js.map +1 -0
  62. package/dist/playwright/browser.d.ts +98 -0
  63. package/dist/playwright/browser.d.ts.map +1 -0
  64. package/dist/playwright/browser.js +229 -0
  65. package/dist/playwright/browser.js.map +1 -0
  66. package/dist/playwright/context.d.ts +217 -0
  67. package/dist/playwright/context.d.ts.map +1 -0
  68. package/dist/playwright/context.js +518 -0
  69. package/dist/playwright/context.js.map +1 -0
  70. package/dist/playwright/extractor.d.ts +108 -0
  71. package/dist/playwright/extractor.d.ts.map +1 -0
  72. package/dist/playwright/extractor.js +404 -0
  73. package/dist/playwright/extractor.js.map +1 -0
  74. package/dist/playwright/frame.d.ts +147 -0
  75. package/dist/playwright/frame.d.ts.map +1 -0
  76. package/dist/playwright/frame.js +492 -0
  77. package/dist/playwright/frame.js.map +1 -0
  78. package/dist/playwright/index.d.ts +163 -0
  79. package/dist/playwright/index.d.ts.map +1 -0
  80. package/dist/playwright/index.js +313 -0
  81. package/dist/playwright/index.js.map +1 -0
  82. package/dist/playwright/keyboard.d.ts +74 -0
  83. package/dist/playwright/keyboard.d.ts.map +1 -0
  84. package/dist/playwright/keyboard.js +187 -0
  85. package/dist/playwright/keyboard.js.map +1 -0
  86. package/dist/playwright/locator.d.ts +237 -0
  87. package/dist/playwright/locator.d.ts.map +1 -0
  88. package/dist/playwright/locator.js +667 -0
  89. package/dist/playwright/locator.js.map +1 -0
  90. package/dist/playwright/mouse.d.ts +82 -0
  91. package/dist/playwright/mouse.d.ts.map +1 -0
  92. package/dist/playwright/mouse.js +137 -0
  93. package/dist/playwright/mouse.js.map +1 -0
  94. package/dist/playwright/page-helpers.d.ts +267 -0
  95. package/dist/playwright/page-helpers.d.ts.map +1 -0
  96. package/dist/playwright/page-helpers.js +449 -0
  97. package/dist/playwright/page-helpers.js.map +1 -0
  98. package/dist/playwright/page.d.ts +605 -0
  99. package/dist/playwright/page.d.ts.map +1 -0
  100. package/dist/playwright/page.js +1698 -0
  101. package/dist/playwright/page.js.map +1 -0
  102. package/dist/playwright/response.d.ts +100 -0
  103. package/dist/playwright/response.d.ts.map +1 -0
  104. package/dist/playwright/response.js +194 -0
  105. package/dist/playwright/response.js.map +1 -0
  106. package/dist/playwright/types.d.ts +354 -0
  107. package/dist/playwright/types.d.ts.map +1 -0
  108. package/dist/playwright/types.js +8 -0
  109. package/dist/playwright/types.js.map +1 -0
  110. package/openapi.json +327 -35
  111. package/package.json +10 -1
@@ -0,0 +1,605 @@
1
+ /**
2
+ * Playwright-compatible Page class for Owl Browser.
3
+ *
4
+ * This is the primary interface for browser interaction. Each Page instance
5
+ * maps to a single browser context + tab in Owl Browser, translating
6
+ * Playwright API calls into the corresponding tool executions.
7
+ *
8
+ * Supports: navigation, interaction, content extraction, screenshots,
9
+ * evaluation, waiting, network interception (route/unroute), dialog
10
+ * handling, console monitoring, downloads, file upload, clipboard,
11
+ * scrolling, zoom, viewport, frames, tabs, video recording, and emulation.
12
+ */
13
+ import { type ExtractedRecord, type FieldSpec, type MetaData } from './extractor.js';
14
+ import { Buffer } from 'node:buffer';
15
+ import type { OwlBrowser } from '../client.js';
16
+ import { Response } from './response.js';
17
+ import { Keyboard } from './keyboard.js';
18
+ import { Mouse } from './mouse.js';
19
+ import { Frame, FrameLocator } from './frame.js';
20
+ import { Locator } from './locator.js';
21
+ import { Route, ConsoleMessage, Download, Video } from './page-helpers.js';
22
+ import type { EventHandler, PageEventName } from './page-helpers.js';
23
+ import type { ViewportSize, GotoOptions, NavigationOptions, ClickOptions, DblClickOptions, HoverOptions, FillOptions, TypeOptions, PressOptions, FocusOptions, ScreenshotOptions, SetContentOptions, PDFOptions, WaitForSelectorOptions, WaitForFunctionOptions, WaitForURLOptions, WaitForLoadStateOptions, WaitForEventOptions, LoadState, CheckOptions, SelectOptionOptions, SelectOptionValue, DragAndDropOptions, SetInputFilesOptions, EmulateMediaOptions, RouteOptions, BoundingBox } from './types.js';
24
+ /** Options for the {@link Page.scrape} method. */
25
+ export interface ScrapeOptions {
26
+ /** Mapping of output field names to extraction specs. */
27
+ fields: Record<string, FieldSpec>;
28
+ /** CSS selector for the "next page" button (click-next mode). */
29
+ next?: string;
30
+ /** Maximum pages to scrape in click-next mode (default: 10). */
31
+ maxPages?: number;
32
+ /** Milliseconds to wait after clicking next (default: 2000). */
33
+ wait?: number;
34
+ /** Enable infinite scroll mode. */
35
+ scroll?: boolean;
36
+ /** Maximum scroll iterations (default: 20). */
37
+ maxScrolls?: number;
38
+ /** Milliseconds to wait after each scroll (default: 2000). */
39
+ scrollWait?: number;
40
+ /** Explicit list of URLs to visit. */
41
+ urls?: string[];
42
+ /** URL template with {page}, {offset} placeholders. */
43
+ urlPattern?: string;
44
+ /** Starting page number (default: 1). */
45
+ startPage?: number;
46
+ /** Ending page number. */
47
+ endPage?: number;
48
+ /** Page increment (default: 1). */
49
+ pageStep?: number;
50
+ /** Follow links to detail pages and extract additional fields. */
51
+ follow?: {
52
+ /** CSS selector spec for the link to follow (e.g., "a@href"). */
53
+ urlSelector: string;
54
+ /** Fields to extract on the detail page. */
55
+ fields: Record<string, FieldSpec>;
56
+ /** Milliseconds to wait after navigating to detail page. */
57
+ wait?: number;
58
+ };
59
+ /** Called after each page is scraped. */
60
+ onPageDone?: (info: {
61
+ page: number;
62
+ newItems: number;
63
+ totalItems: number;
64
+ }) => void;
65
+ /** Retry failed pages (default: 0). */
66
+ retries?: number;
67
+ /** Delay between retries in ms (default: 1000). */
68
+ retryDelay?: number;
69
+ }
70
+ /**
71
+ * Page provides the main API for interacting with a single browser tab.
72
+ *
73
+ * Mirrors the Playwright Page API surface. All async methods translate
74
+ * to Owl Browser tool executions via the underlying OwlBrowser client.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * const page = await context.newPage();
79
+ * await page.goto('https://example.com');
80
+ * await page.click('#submit');
81
+ * const title = await page.title();
82
+ * ```
83
+ */
84
+ export declare class Page {
85
+ private readonly _client;
86
+ private readonly _contextId;
87
+ private readonly _keyboard;
88
+ private readonly _mouse;
89
+ private readonly _mainFrame;
90
+ private _url;
91
+ private _viewport;
92
+ private _closed;
93
+ private readonly _tabId;
94
+ private readonly _routes;
95
+ private readonly _eventHandlers;
96
+ private _video;
97
+ private _dialogPollTimer;
98
+ private _consolePollTimer;
99
+ private _consoleLogOffset;
100
+ private _dialogSetupReady;
101
+ constructor(client: OwlBrowser, contextId: string, tabId?: string);
102
+ /** The Keyboard instance for this page. */
103
+ get keyboard(): Keyboard;
104
+ /** The Mouse instance for this page. */
105
+ get mouse(): Mouse;
106
+ /** The main Frame of this page. */
107
+ mainFrame(): Frame;
108
+ /** The current page URL (synchronous getter). */
109
+ get url(): string;
110
+ /** Whether the page has been closed. */
111
+ isClosed(): boolean;
112
+ /** The current viewport size, or null if not set. */
113
+ viewportSize(): ViewportSize | null;
114
+ /** The underlying context ID. */
115
+ get contextId(): string;
116
+ /**
117
+ * Execute a browser tool with auto-injected context_id.
118
+ *
119
+ * @internal Used by Locator and other classes to execute tools.
120
+ * @param toolName - Browser tool name (e.g., 'browser_click')
121
+ * @param params - Tool parameters (context_id is auto-injected)
122
+ * @returns Tool execution result
123
+ */
124
+ _execute(toolName: string, params?: Record<string, unknown>): Promise<unknown>;
125
+ /**
126
+ * Navigate to a URL.
127
+ *
128
+ * @param url - Target URL (must include protocol)
129
+ * @param options - Navigation options (waitUntil, timeout, referer)
130
+ * @returns Response object or null
131
+ */
132
+ goto(url: string, options?: GotoOptions): Promise<Response | null>;
133
+ /**
134
+ * Navigate back in history.
135
+ *
136
+ * @param options - Navigation options
137
+ * @returns Response object or null
138
+ */
139
+ goBack(options?: NavigationOptions): Promise<Response | null>;
140
+ /**
141
+ * Navigate forward in history.
142
+ *
143
+ * @param options - Navigation options
144
+ * @returns Response object or null
145
+ */
146
+ goForward(options?: NavigationOptions): Promise<Response | null>;
147
+ /**
148
+ * Reload the page.
149
+ *
150
+ * @param options - Navigation options
151
+ * @returns Response object or null
152
+ */
153
+ reload(options?: NavigationOptions): Promise<Response | null>;
154
+ /** Get the page title. */
155
+ title(): Promise<string>;
156
+ /** Get the full HTML content of the page. */
157
+ content(): Promise<string>;
158
+ /**
159
+ * Set the HTML content of the page.
160
+ *
161
+ * @param html - HTML string to load
162
+ * @param options - Set content options
163
+ */
164
+ setContent(html: string, options?: SetContentOptions): Promise<void>;
165
+ /**
166
+ * Extract structured data from all elements matching a CSS selector.
167
+ *
168
+ * Fetches the page HTML once and parses it SDK-side using cheerio.
169
+ * Each matching container element has the given fields extracted from it.
170
+ *
171
+ * Field syntax:
172
+ * `"selector"` → textContent of the matched child element
173
+ * `"selector@attr"` → attribute value of the matched child element
174
+ * `"@attr"` → attribute on the container element itself
175
+ *
176
+ * @param selector - CSS selector for repeating container elements
177
+ * @param fields - Mapping of output names to extraction specs
178
+ * @returns Array of objects with extracted values
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * const products = await page.queryAll('.product-card', {
183
+ * name: 'h2',
184
+ * price: '.price',
185
+ * image: 'img@src',
186
+ * link: 'a@href',
187
+ * });
188
+ * ```
189
+ */
190
+ queryAll(selector: string, fields: Record<string, FieldSpec>): Promise<ExtractedRecord[]>;
191
+ /**
192
+ * Extract structured data from the first element matching a CSS selector.
193
+ *
194
+ * @param selector - CSS selector for the container element
195
+ * @param fields - Mapping of output names to extraction specs
196
+ * @returns Single record or null if no match
197
+ */
198
+ queryFirst(selector: string, fields: Record<string, FieldSpec>): Promise<ExtractedRecord | null>;
199
+ /**
200
+ * Extract a <table> as an array of records.
201
+ *
202
+ * @param selector - CSS selector for the table (default: 'table')
203
+ * @param options - Optional headers override
204
+ * @returns Array of records with header keys
205
+ */
206
+ extractTable(selector?: string, options?: {
207
+ headers?: string[];
208
+ }): Promise<ExtractedRecord[]>;
209
+ /**
210
+ * Extract JSON-LD structured data from the page.
211
+ *
212
+ * @returns Array of parsed JSON-LD objects
213
+ */
214
+ extractStructuredData(): Promise<object[]>;
215
+ /**
216
+ * Extract meta tags from the page.
217
+ *
218
+ * @returns MetaData with title, description, canonical, og, twitter, other
219
+ */
220
+ extractMeta(): Promise<MetaData>;
221
+ /**
222
+ * Count elements matching a CSS selector.
223
+ *
224
+ * @param selector - CSS selector
225
+ * @returns Number of matching elements
226
+ */
227
+ count(selector: string): Promise<number>;
228
+ /**
229
+ * Extract structured data across multiple pages or scroll loads.
230
+ *
231
+ * Supports two pagination modes:
232
+ * - **Click-next**: clicks a "next" button and waits for page update.
233
+ * - **Infinite scroll**: scrolls to bottom and waits for new content.
234
+ *
235
+ * Automatically detects end of data: next button gone/disabled/hidden,
236
+ * no new items after dedup, or max pages/scrolls reached.
237
+ *
238
+ * @param selector - CSS selector for repeating container elements
239
+ * @param options - Scrape options (fields, next, scroll, limits)
240
+ * @returns Deduplicated array of all extracted records across pages
241
+ */
242
+ scrape(selector: string, options: ScrapeOptions): Promise<ExtractedRecord[]>;
243
+ /**
244
+ * Get the page content as Markdown.
245
+ *
246
+ * @returns Markdown representation of the page
247
+ */
248
+ markdown(): Promise<string>;
249
+ /**
250
+ * Click an element.
251
+ *
252
+ * @param selector - CSS selector, XY coordinates, or natural language description
253
+ * @param options - Click options (button, clickCount, etc.)
254
+ */
255
+ click(selector: string, options?: ClickOptions): Promise<void>;
256
+ /** Double-click an element. */
257
+ dblclick(selector: string, options?: DblClickOptions): Promise<void>;
258
+ /**
259
+ * Fill an input element (clears existing content first).
260
+ *
261
+ * @param selector - Target input element
262
+ * @param value - Text to fill
263
+ * @param options - Fill options
264
+ */
265
+ fill(selector: string, value: string, options?: FillOptions): Promise<void>;
266
+ /**
267
+ * Type text into an element (does NOT clear existing content).
268
+ *
269
+ * @param selector - Target input element
270
+ * @param text - Text to type
271
+ * @param options - Type options
272
+ */
273
+ type(selector: string, text: string, options?: TypeOptions): Promise<void>;
274
+ /**
275
+ * Focus an element and press a key.
276
+ *
277
+ * For special keys (Enter, Tab, Escape, etc.) uses browser_press_key.
278
+ * For single character keys (a-z, 0-9, etc.) uses browser_type to simulate typing.
279
+ */
280
+ press(selector: string, key: string, options?: PressOptions): Promise<void>;
281
+ /** Hover over an element. */
282
+ hover(selector: string, options?: HoverOptions): Promise<void>;
283
+ /** Focus an element. */
284
+ focus(selector: string, options?: FocusOptions): Promise<void>;
285
+ /** Blur the currently focused element. */
286
+ blur(selector: string): Promise<void>;
287
+ /** Select option(s) from a dropdown. Calls browser_pick once per value. */
288
+ selectOption(selector: string, values: SelectOptionValue, options?: SelectOptionOptions): Promise<string[]>;
289
+ /** Check a checkbox (no-op if already checked). */
290
+ check(selector: string, options?: CheckOptions): Promise<void>;
291
+ /** Uncheck a checkbox (no-op if already unchecked). */
292
+ uncheck(selector: string, options?: CheckOptions): Promise<void>;
293
+ /** Drag an element and drop it onto another element. */
294
+ dragAndDrop(source: string, target: string, options?: DragAndDropOptions): Promise<void>;
295
+ /**
296
+ * Upload files to a file input element.
297
+ *
298
+ * @param selector - CSS selector for the file input element
299
+ * @param files - File path(s) to upload
300
+ * @param options - Upload options
301
+ */
302
+ setInputFiles(selector: string, files: string | string[], options?: SetInputFilesOptions): Promise<void>;
303
+ /** Submit a form. */
304
+ submitForm(selector: string): Promise<void>;
305
+ /** Select all text in the focused element. */
306
+ selectAll(): Promise<void>;
307
+ /** Get the text content of an element. */
308
+ textContent(selector: string): Promise<string | null>;
309
+ /** Get the inner HTML of an element. */
310
+ innerHTML(selector: string): Promise<string>;
311
+ /** Get the inner text of an element (visible text only). */
312
+ innerText(selector: string): Promise<string>;
313
+ /** Get an attribute value from an element. */
314
+ getAttribute(selector: string, name: string): Promise<string | null>;
315
+ /** Get the bounding box of an element. */
316
+ boundingBox(selector: string): Promise<BoundingBox | null>;
317
+ /** Check if an element is visible. */
318
+ isVisible(selector: string): Promise<boolean>;
319
+ /** Check if an element is enabled. */
320
+ isEnabled(selector: string): Promise<boolean>;
321
+ /** Check if a checkbox/radio is checked. */
322
+ isChecked(selector: string): Promise<boolean>;
323
+ /**
324
+ * Take a screenshot of the page.
325
+ *
326
+ * @param options - Screenshot options (path, type, fullPage, etc.)
327
+ * @returns PNG image data as Buffer
328
+ */
329
+ screenshot(options?: ScreenshotOptions): Promise<Buffer>;
330
+ /**
331
+ * Generate a PDF of the page.
332
+ *
333
+ * Stub: Owl Browser does not directly support PDF generation.
334
+ * Returns an empty buffer.
335
+ *
336
+ * @param options - PDF options
337
+ * @returns Empty Buffer
338
+ */
339
+ pdf(options?: PDFOptions): Promise<Buffer>;
340
+ /**
341
+ * Evaluate JavaScript in the page context.
342
+ *
343
+ * @param pageFunction - Function or expression string to evaluate
344
+ * @param arg - Optional argument to pass to the function
345
+ * @returns The result of the evaluation
346
+ */
347
+ evaluate<R = unknown>(pageFunction: string | ((...args: unknown[]) => R), arg?: unknown): Promise<R>;
348
+ /**
349
+ * Evaluate JavaScript and return a handle (simplified).
350
+ *
351
+ * @param pageFunction - Function or expression string
352
+ * @param arg - Optional argument
353
+ * @returns Evaluation result
354
+ */
355
+ evaluateHandle<R = unknown>(pageFunction: string | ((...args: unknown[]) => R), arg?: unknown): Promise<R>;
356
+ /**
357
+ * Add a script to evaluate when a new document is created.
358
+ *
359
+ * @param script - JavaScript code or path to script file
360
+ * @param arg - Optional argument
361
+ */
362
+ addInitScript(script: string | {
363
+ path: string;
364
+ }, arg?: unknown): Promise<void>;
365
+ /**
366
+ * Expose a function in the page's global scope.
367
+ *
368
+ * Stub: Creates a global function that logs calls via console.
369
+ *
370
+ * @param name - Function name to expose
371
+ * @param callback - Function implementation
372
+ */
373
+ exposeFunction(name: string, callback: (...args: unknown[]) => unknown): Promise<void>;
374
+ /** Wait for a selector to appear in the DOM. */
375
+ waitForSelector(selector: string, options?: WaitForSelectorOptions): Promise<void>;
376
+ /** Wait for a fixed amount of time. */
377
+ waitForTimeout(timeout: number): Promise<void>;
378
+ /** Wait for the page URL to match. */
379
+ waitForURL(url: string | RegExp | ((url: URL) => boolean), options?: WaitForURLOptions): Promise<void>;
380
+ /** Wait for a JavaScript function to return truthy. */
381
+ waitForFunction(pageFunction: string | ((...args: unknown[]) => unknown), arg?: unknown, options?: WaitForFunctionOptions): Promise<void>;
382
+ /** Wait for the page to reach a specific load state. */
383
+ waitForLoadState(state?: LoadState, options?: WaitForLoadStateOptions): Promise<void>;
384
+ /** Wait for a specific event to fire. */
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
+ }>;
410
+ /**
411
+ * Intercept network requests matching a URL pattern.
412
+ *
413
+ * @param url - URL pattern (glob) or RegExp to match
414
+ * @param handler - Handler function to process intercepted requests
415
+ * @param options - Route options (e.g., times)
416
+ */
417
+ route(url: string | RegExp, handler: (route: Route) => void | Promise<void>, options?: RouteOptions): Promise<void>;
418
+ /**
419
+ * Remove a previously registered route handler.
420
+ *
421
+ * @param url - URL pattern that was registered
422
+ * @param handler - Optional specific handler to remove
423
+ */
424
+ unroute(url: string | RegExp, handler?: (route: Route) => void | Promise<void>): Promise<void>;
425
+ /** Remove all route handlers. */
426
+ unrouteAll(): Promise<void>;
427
+ /**
428
+ * Register an event handler.
429
+ *
430
+ * @param event - Event name ('dialog', 'console', 'download', etc.)
431
+ * @param handler - Event handler function
432
+ */
433
+ on(event: PageEventName | string, handler: EventHandler): this;
434
+ /**
435
+ * Register a one-time event handler.
436
+ *
437
+ * @param event - Event name
438
+ * @param handler - Event handler function (called once then removed)
439
+ */
440
+ once(event: PageEventName | string, handler: EventHandler): this;
441
+ /**
442
+ * Remove an event handler.
443
+ *
444
+ * @param event - Event name
445
+ * @param handler - Handler to remove
446
+ */
447
+ off(event: PageEventName | string, handler: EventHandler): this;
448
+ /**
449
+ * Remove all event handlers for an event (or all events).
450
+ *
451
+ * @param event - Optional event name
452
+ */
453
+ removeAllListeners(event?: string): this;
454
+ /** Set the viewport size. */
455
+ setViewportSize(size: ViewportSize): Promise<void>;
456
+ /**
457
+ * Emulate media features.
458
+ *
459
+ * @param options - Media emulation options (colorScheme, reducedMotion)
460
+ */
461
+ emulateMedia(options?: EmulateMediaOptions): Promise<void>;
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
+ */
468
+ setExtraHTTPHeaders(headers: Record<string, string>): Promise<void>;
469
+ /** Scroll by pixel delta. */
470
+ scrollBy(deltaX: number, deltaY: number): Promise<void>;
471
+ /** Scroll an element into view. */
472
+ scrollToElement(selector: string): Promise<void>;
473
+ /** Scroll to the top of the page. */
474
+ scrollToTop(): Promise<void>;
475
+ /** Scroll to the bottom of the page. */
476
+ scrollToBottom(): Promise<void>;
477
+ /** Zoom in the page. */
478
+ zoomIn(): Promise<void>;
479
+ /** Zoom out the page. */
480
+ zoomOut(): Promise<void>;
481
+ /** Reset zoom to 100%. */
482
+ zoomReset(): Promise<void>;
483
+ /** Read text from the clipboard. */
484
+ clipboardRead(): Promise<string>;
485
+ /** Write text to the clipboard. */
486
+ clipboardWrite(text: string): Promise<void>;
487
+ /** Clear the clipboard. */
488
+ clipboardClear(): Promise<void>;
489
+ /**
490
+ * Get console log entries.
491
+ *
492
+ * @param options - Filter options (level, filter text, limit)
493
+ * @returns Array of ConsoleMessage objects
494
+ */
495
+ getConsoleMessages(options?: {
496
+ level?: string;
497
+ filter?: string;
498
+ limit?: number;
499
+ }): Promise<ConsoleMessage[]>;
500
+ /** Clear console logs. */
501
+ clearConsole(): Promise<void>;
502
+ /**
503
+ * Get the Video instance for this page (if recording is active).
504
+ *
505
+ * @returns Video instance or null
506
+ */
507
+ video(): Video | null;
508
+ /**
509
+ * Start video recording for this page.
510
+ *
511
+ * @param options - Recording options (fps, codec)
512
+ */
513
+ startVideoRecording(options?: {
514
+ fps?: number;
515
+ codec?: string;
516
+ }): Promise<Video>;
517
+ /** Stop video recording. */
518
+ stopVideoRecording(): Promise<void>;
519
+ /** Create a Locator for the given selector. */
520
+ locator(selector: string): Locator;
521
+ /** Query a single element (alias for locator). */
522
+ $(selector: string): Locator;
523
+ /** Query all matching elements (returns locators for each match). */
524
+ $$(selector: string): Promise<Locator[]>;
525
+ /** Get a locator by text content. */
526
+ getByText(text: string | RegExp, options?: {
527
+ exact?: boolean;
528
+ }): Locator;
529
+ /** Get a locator by role. */
530
+ getByRole(role: string, options?: {
531
+ name?: string | RegExp;
532
+ exact?: boolean;
533
+ }): Locator;
534
+ /** Get a locator by placeholder text. */
535
+ getByPlaceholder(text: string | RegExp, options?: {
536
+ exact?: boolean;
537
+ }): Locator;
538
+ /** Get a locator by label text. */
539
+ getByLabel(text: string | RegExp, options?: {
540
+ exact?: boolean;
541
+ }): Locator;
542
+ /** Get a locator by alt text. */
543
+ getByAltText(text: string | RegExp, options?: {
544
+ exact?: boolean;
545
+ }): Locator;
546
+ /** Get a locator by title attribute. */
547
+ getByTitle(text: string | RegExp, options?: {
548
+ exact?: boolean;
549
+ }): Locator;
550
+ /** Get a locator by data-testid attribute. */
551
+ getByTestId(testId: string | RegExp): Locator;
552
+ /** Get all frames on the page (cached, returns main frame). */
553
+ frames(): Frame[];
554
+ /** Get all frames by querying the browser. */
555
+ framesAsync(): Promise<Frame[]>;
556
+ /** Get a frame by name or URL. */
557
+ frame(nameOrUrl: string | {
558
+ name?: string;
559
+ url?: string | RegExp;
560
+ }): Frame | null;
561
+ /**
562
+ * Get a FrameLocator for interacting with iframe content.
563
+ *
564
+ * @param selector - CSS selector for the iframe element
565
+ * @returns A FrameLocator scoped to the iframe
566
+ */
567
+ frameLocator(selector: string): FrameLocator;
568
+ /** Close the page/tab. */
569
+ close(): Promise<void>;
570
+ /** Bring the page tab to front. */
571
+ bringToFront(): Promise<void>;
572
+ /**
573
+ * Set the download directory path.
574
+ *
575
+ * @param path - Absolute directory path for downloads
576
+ */
577
+ setDownloadPath(path: string): Promise<void>;
578
+ /**
579
+ * Get all downloads for this context.
580
+ *
581
+ * @returns Array of Download objects
582
+ */
583
+ getDownloads(): Promise<Download[]>;
584
+ /**
585
+ * Configure automatic dialog handling.
586
+ *
587
+ * @param dialogType - Dialog type ('alert', 'confirm', 'prompt', 'beforeunload')
588
+ * @param action - Action ('accept', 'dismiss', 'accept_with_text')
589
+ * @param promptText - Text for prompt dialogs
590
+ */
591
+ setDialogAction(dialogType: string, action: string, promptText?: string): Promise<void>;
592
+ /** Sync the internal URL cache with the actual page URL. */
593
+ private _syncUrl;
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;
598
+ /** Wait for a download event. */
599
+ private _waitForDownload;
600
+ /** Wait for a dialog event. */
601
+ private _waitForDialog;
602
+ /** Wait for a console message event. */
603
+ private _waitForConsole;
604
+ }
605
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/playwright/page.ts"],"names":[],"mappings":"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"}