@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.
- package/README.md +107 -0
- package/dist/extraction/content-cleaner.d.ts +40 -0
- package/dist/extraction/content-cleaner.d.ts.map +1 -0
- package/dist/extraction/content-cleaner.js +393 -0
- package/dist/extraction/content-cleaner.js.map +1 -0
- package/dist/extraction/extractor.d.ts +139 -0
- package/dist/extraction/extractor.d.ts.map +1 -0
- package/dist/extraction/extractor.js +212 -0
- package/dist/extraction/extractor.js.map +1 -0
- package/dist/extraction/html-processor.d.ts +75 -0
- package/dist/extraction/html-processor.d.ts.map +1 -0
- package/dist/extraction/html-processor.js +192 -0
- package/dist/extraction/html-processor.js.map +1 -0
- package/dist/extraction/index.d.ts +14 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +19 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/list-extractor.d.ts +24 -0
- package/dist/extraction/list-extractor.d.ts.map +1 -0
- package/dist/extraction/list-extractor.js +303 -0
- package/dist/extraction/list-extractor.js.map +1 -0
- package/dist/extraction/meta-extractor.d.ts +40 -0
- package/dist/extraction/meta-extractor.d.ts.map +1 -0
- package/dist/extraction/meta-extractor.js +216 -0
- package/dist/extraction/meta-extractor.js.map +1 -0
- package/dist/extraction/pagination.d.ts +29 -0
- package/dist/extraction/pagination.d.ts.map +1 -0
- package/dist/extraction/pagination.js +323 -0
- package/dist/extraction/pagination.js.map +1 -0
- package/dist/extraction/pattern-detector.d.ts +16 -0
- package/dist/extraction/pattern-detector.d.ts.map +1 -0
- package/dist/extraction/pattern-detector.js +390 -0
- package/dist/extraction/pattern-detector.js.map +1 -0
- package/dist/extraction/scrape-session.d.ts +23 -0
- package/dist/extraction/scrape-session.d.ts.map +1 -0
- package/dist/extraction/scrape-session.js +192 -0
- package/dist/extraction/scrape-session.js.map +1 -0
- package/dist/extraction/selector-engine.d.ts +23 -0
- package/dist/extraction/selector-engine.d.ts.map +1 -0
- package/dist/extraction/selector-engine.js +127 -0
- package/dist/extraction/selector-engine.js.map +1 -0
- package/dist/extraction/table-extractor.d.ts +29 -0
- package/dist/extraction/table-extractor.d.ts.map +1 -0
- package/dist/extraction/table-extractor.js +282 -0
- package/dist/extraction/table-extractor.js.map +1 -0
- package/dist/extraction/transforms.d.ts +47 -0
- package/dist/extraction/transforms.d.ts.map +1 -0
- package/dist/extraction/transforms.js +277 -0
- package/dist/extraction/transforms.js.map +1 -0
- package/dist/extraction/types.d.ts +199 -0
- package/dist/extraction/types.d.ts.map +1 -0
- package/dist/extraction/types.js +5 -0
- package/dist/extraction/types.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/playwright/browser-type.d.ts +101 -0
- package/dist/playwright/browser-type.d.ts.map +1 -0
- package/dist/playwright/browser-type.js +134 -0
- package/dist/playwright/browser-type.js.map +1 -0
- package/dist/playwright/browser.d.ts +98 -0
- package/dist/playwright/browser.d.ts.map +1 -0
- package/dist/playwright/browser.js +229 -0
- package/dist/playwright/browser.js.map +1 -0
- package/dist/playwright/context.d.ts +217 -0
- package/dist/playwright/context.d.ts.map +1 -0
- package/dist/playwright/context.js +518 -0
- package/dist/playwright/context.js.map +1 -0
- package/dist/playwright/extractor.d.ts +108 -0
- package/dist/playwright/extractor.d.ts.map +1 -0
- package/dist/playwright/extractor.js +404 -0
- package/dist/playwright/extractor.js.map +1 -0
- package/dist/playwright/frame.d.ts +147 -0
- package/dist/playwright/frame.d.ts.map +1 -0
- package/dist/playwright/frame.js +492 -0
- package/dist/playwright/frame.js.map +1 -0
- package/dist/playwright/index.d.ts +163 -0
- package/dist/playwright/index.d.ts.map +1 -0
- package/dist/playwright/index.js +313 -0
- package/dist/playwright/index.js.map +1 -0
- package/dist/playwright/keyboard.d.ts +74 -0
- package/dist/playwright/keyboard.d.ts.map +1 -0
- package/dist/playwright/keyboard.js +187 -0
- package/dist/playwright/keyboard.js.map +1 -0
- package/dist/playwright/locator.d.ts +237 -0
- package/dist/playwright/locator.d.ts.map +1 -0
- package/dist/playwright/locator.js +667 -0
- package/dist/playwright/locator.js.map +1 -0
- package/dist/playwright/mouse.d.ts +82 -0
- package/dist/playwright/mouse.d.ts.map +1 -0
- package/dist/playwright/mouse.js +137 -0
- package/dist/playwright/mouse.js.map +1 -0
- package/dist/playwright/page-helpers.d.ts +267 -0
- package/dist/playwright/page-helpers.d.ts.map +1 -0
- package/dist/playwright/page-helpers.js +449 -0
- package/dist/playwright/page-helpers.js.map +1 -0
- package/dist/playwright/page.d.ts +605 -0
- package/dist/playwright/page.d.ts.map +1 -0
- package/dist/playwright/page.js +1698 -0
- package/dist/playwright/page.js.map +1 -0
- package/dist/playwright/response.d.ts +100 -0
- package/dist/playwright/response.d.ts.map +1 -0
- package/dist/playwright/response.js +194 -0
- package/dist/playwright/response.js.map +1 -0
- package/dist/playwright/types.d.ts +354 -0
- package/dist/playwright/types.d.ts.map +1 -0
- package/dist/playwright/types.js +8 -0
- package/dist/playwright/types.js.map +1 -0
- package/openapi.json +327 -35
- 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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"}
|