selenium-webdriver 4.44.0 → 4.46.0

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 (48) hide show
  1. package/CHANGES.md +20 -0
  2. package/bidi/browsingContextInspector.js +1 -1
  3. package/bidi/generated/bluetooth.d.ts +223 -0
  4. package/bidi/generated/bluetooth.js +154 -0
  5. package/bidi/generated/browser.d.ts +104 -0
  6. package/bidi/generated/browser.js +107 -0
  7. package/bidi/generated/browsing_context.d.ts +431 -0
  8. package/bidi/generated/browsing_context.js +280 -0
  9. package/bidi/generated/common.d.ts +38 -0
  10. package/bidi/generated/common.js +30 -0
  11. package/bidi/generated/emulation.d.ts +176 -0
  12. package/bidi/generated/emulation.js +133 -0
  13. package/bidi/generated/input.d.ts +151 -0
  14. package/bidi/generated/input.js +81 -0
  15. package/bidi/generated/log.d.ts +39 -0
  16. package/bidi/generated/log.js +67 -0
  17. package/bidi/generated/network.d.ts +359 -0
  18. package/bidi/generated/network.js +230 -0
  19. package/bidi/generated/permissions.d.ts +22 -0
  20. package/bidi/generated/permissions.js +43 -0
  21. package/bidi/generated/script.d.ts +410 -0
  22. package/bidi/generated/script.js +146 -0
  23. package/bidi/generated/session.d.ts +119 -0
  24. package/bidi/generated/session.js +82 -0
  25. package/bidi/generated/speculation.d.ts +17 -0
  26. package/bidi/generated/speculation.js +40 -0
  27. package/bidi/generated/storage.d.ts +84 -0
  28. package/bidi/generated/storage.js +70 -0
  29. package/bidi/generated/user_agent_client_hints.d.ts +33 -0
  30. package/bidi/generated/user_agent_client_hints.js +43 -0
  31. package/bidi/generated/webextension.d.ts +42 -0
  32. package/bidi/generated/webextension.js +53 -0
  33. package/bidi/index.js +24 -3
  34. package/bin/linux/selenium-manager +0 -0
  35. package/bin/macos/selenium-manager +0 -0
  36. package/bin/windows/selenium-manager.exe +0 -0
  37. package/common/driverFinder.js +2 -1
  38. package/common/seleniumManager.js +1 -1
  39. package/eslint.config.js +5 -5
  40. package/io/zip.js +1 -1
  41. package/lib/atoms/find-elements.js +272 -68
  42. package/lib/atoms/get-attribute.js +152 -17
  43. package/lib/atoms/is-displayed.js +385 -39
  44. package/lib/http.js +2 -1
  45. package/lib/pinnedScript.js +0 -1
  46. package/lib/until.js +7 -9
  47. package/lib/webdriver.js +2 -2
  48. package/package.json +17 -15
@@ -0,0 +1,431 @@
1
+ import type { BrowserClientWindow, BrowserUserContext } from './browser.js';
2
+ import type { EmptyResult, JsInt, JsUint } from './common.js';
3
+ import type { ScriptNodeRemoteValue, ScriptSerializationOptions, ScriptSharedReference } from './script.js';
4
+ import type { SessionUserPromptHandlerType } from './session.js';
5
+ export type BrowsingContextCommand = BrowsingContextActivate | BrowsingContextCaptureScreenshot | BrowsingContextClose | BrowsingContextCreate | BrowsingContextGetTree | BrowsingContextHandleUserPrompt | BrowsingContextLocateNodes | BrowsingContextNavigate | BrowsingContextPrint | BrowsingContextReload | BrowsingContextSetBypassCsp | BrowsingContextSetViewport | BrowsingContextStartScreencast | BrowsingContextStopScreencast | BrowsingContextTraverseHistory;
6
+ export type BrowsingContextResult = BrowsingContextActivateResult | BrowsingContextCaptureScreenshotResult | BrowsingContextCloseResult | BrowsingContextCreateResult | BrowsingContextGetTreeResult | BrowsingContextHandleUserPromptResult | BrowsingContextLocateNodesResult | BrowsingContextNavigateResult | BrowsingContextPrintResult | BrowsingContextReloadResult | BrowsingContextSetBypassCspResult | BrowsingContextSetViewportResult | BrowsingContextStartScreencastResult | BrowsingContextStopScreencastResult | BrowsingContextTraverseHistoryResult;
7
+ export type BrowsingContextEvent = BrowsingContextContextCreated | BrowsingContextContextDestroyed | BrowsingContextDomContentLoaded | BrowsingContextDownloadEnd | BrowsingContextDownloadWillBegin | BrowsingContextFragmentNavigated | BrowsingContextHistoryUpdated | BrowsingContextLoad | BrowsingContextNavigationAborted | BrowsingContextNavigationCommitted | BrowsingContextNavigationFailed | BrowsingContextNavigationStarted | BrowsingContextUserPromptClosed | BrowsingContextUserPromptOpened;
8
+ export type BrowsingContextBrowsingContext = string;
9
+ export type BrowsingContextInfoList = BrowsingContextInfo[];
10
+ export interface BrowsingContextInfo {
11
+ children: BrowsingContextInfoList | null;
12
+ clientWindow: BrowserClientWindow;
13
+ context: BrowsingContextBrowsingContext;
14
+ originalOpener: BrowsingContextBrowsingContext | null;
15
+ url: string;
16
+ userContext: BrowserUserContext;
17
+ parent?: BrowsingContextBrowsingContext | null;
18
+ }
19
+ export type BrowsingContextLocator = BrowsingContextAccessibilityLocator | BrowsingContextCssLocator | BrowsingContextContextLocator | BrowsingContextInnerTextLocator | BrowsingContextXPathLocator;
20
+ export interface BrowsingContextAccessibilityLocator {
21
+ type: "accessibility";
22
+ value: {
23
+ name?: string;
24
+ role?: string;
25
+ };
26
+ }
27
+ export interface BrowsingContextCssLocator {
28
+ type: "css";
29
+ value: string;
30
+ }
31
+ export interface BrowsingContextContextLocator {
32
+ type: "context";
33
+ value: {
34
+ context: BrowsingContextBrowsingContext;
35
+ };
36
+ }
37
+ export interface BrowsingContextInnerTextLocator {
38
+ type: "innerText";
39
+ value: string;
40
+ ignoreCase?: boolean;
41
+ matchType?: "full" | "partial";
42
+ maxDepth?: JsUint;
43
+ }
44
+ export interface BrowsingContextXPathLocator {
45
+ type: "xpath";
46
+ value: string;
47
+ }
48
+ export type BrowsingContextNavigation = string;
49
+ export type BrowsingContextDownload = string;
50
+ export interface BrowsingContextBaseNavigationInfo {
51
+ context: BrowsingContextBrowsingContext;
52
+ navigation: BrowsingContextNavigation | null;
53
+ timestamp: JsUint;
54
+ url: string;
55
+ userContext?: BrowserUserContext;
56
+ }
57
+ export type BrowsingContextNavigationInfo = BrowsingContextBaseNavigationInfo;
58
+ export type BrowsingContextReadinessState = "none" | "interactive" | "complete";
59
+ export type BrowsingContextUserPromptType = "alert" | "beforeunload" | "confirm" | "prompt";
60
+ export interface BrowsingContextActivate {
61
+ method: "browsingContext.activate";
62
+ params: BrowsingContextActivateParameters;
63
+ }
64
+ export interface BrowsingContextActivateParameters {
65
+ context: BrowsingContextBrowsingContext;
66
+ }
67
+ export type BrowsingContextActivateResult = EmptyResult;
68
+ export interface BrowsingContextCaptureScreenshot {
69
+ method: "browsingContext.captureScreenshot";
70
+ params: BrowsingContextCaptureScreenshotParameters;
71
+ }
72
+ export interface BrowsingContextCaptureScreenshotParameters {
73
+ context: BrowsingContextBrowsingContext;
74
+ /**
75
+ * @default 'viewport'
76
+ */
77
+ origin?: "viewport" | "document";
78
+ format?: BrowsingContextImageFormat;
79
+ clip?: BrowsingContextClipRectangle;
80
+ }
81
+ export interface BrowsingContextImageFormat {
82
+ type: string;
83
+ quality?: number;
84
+ }
85
+ export type BrowsingContextClipRectangle = BrowsingContextBoxClipRectangle | BrowsingContextElementClipRectangle;
86
+ export interface BrowsingContextElementClipRectangle {
87
+ type: "element";
88
+ element: ScriptSharedReference;
89
+ }
90
+ export interface BrowsingContextBoxClipRectangle {
91
+ type: "box";
92
+ x: number;
93
+ y: number;
94
+ width: number;
95
+ height: number;
96
+ }
97
+ export interface BrowsingContextCaptureScreenshotResult {
98
+ data: string;
99
+ }
100
+ export interface BrowsingContextClose {
101
+ method: "browsingContext.close";
102
+ params: BrowsingContextCloseParameters;
103
+ }
104
+ export interface BrowsingContextCloseParameters {
105
+ context: BrowsingContextBrowsingContext;
106
+ promptUnload?: boolean;
107
+ }
108
+ export type BrowsingContextCloseResult = EmptyResult;
109
+ export interface BrowsingContextCreate {
110
+ method: "browsingContext.create";
111
+ params: BrowsingContextCreateParameters;
112
+ }
113
+ export type BrowsingContextCreateType = "tab" | "window";
114
+ export interface BrowsingContextCreateParameters {
115
+ type: BrowsingContextCreateType;
116
+ referenceContext?: BrowsingContextBrowsingContext;
117
+ background?: boolean;
118
+ userContext?: BrowserUserContext;
119
+ }
120
+ export interface BrowsingContextCreateResult {
121
+ context: BrowsingContextBrowsingContext;
122
+ userContext?: BrowserUserContext;
123
+ }
124
+ export interface BrowsingContextGetTree {
125
+ method: "browsingContext.getTree";
126
+ params: BrowsingContextGetTreeParameters;
127
+ }
128
+ export interface BrowsingContextGetTreeParameters {
129
+ maxDepth?: JsUint;
130
+ root?: BrowsingContextBrowsingContext;
131
+ }
132
+ export interface BrowsingContextGetTreeResult {
133
+ contexts: BrowsingContextInfoList;
134
+ }
135
+ export interface BrowsingContextHandleUserPrompt {
136
+ method: "browsingContext.handleUserPrompt";
137
+ params: BrowsingContextHandleUserPromptParameters;
138
+ }
139
+ export interface BrowsingContextHandleUserPromptParameters {
140
+ context: BrowsingContextBrowsingContext;
141
+ accept?: boolean;
142
+ userText?: string;
143
+ }
144
+ export type BrowsingContextHandleUserPromptResult = EmptyResult;
145
+ export interface BrowsingContextLocateNodes {
146
+ method: "browsingContext.locateNodes";
147
+ params: BrowsingContextLocateNodesParameters;
148
+ }
149
+ export interface BrowsingContextLocateNodesParameters {
150
+ context: BrowsingContextBrowsingContext;
151
+ locator: BrowsingContextLocator;
152
+ maxNodeCount?: JsUint;
153
+ serializationOptions?: ScriptSerializationOptions;
154
+ startNodes?: ScriptSharedReference[];
155
+ }
156
+ export interface BrowsingContextLocateNodesResult {
157
+ nodes: ScriptNodeRemoteValue[];
158
+ }
159
+ export interface BrowsingContextNavigate {
160
+ method: "browsingContext.navigate";
161
+ params: BrowsingContextNavigateParameters;
162
+ }
163
+ export interface BrowsingContextNavigateParameters {
164
+ context: BrowsingContextBrowsingContext;
165
+ url: string;
166
+ wait?: BrowsingContextReadinessState;
167
+ }
168
+ export interface BrowsingContextNavigateResult {
169
+ navigation: BrowsingContextNavigation | null;
170
+ url: string;
171
+ }
172
+ export interface BrowsingContextPrint {
173
+ method: "browsingContext.print";
174
+ params: BrowsingContextPrintParameters;
175
+ }
176
+ export interface BrowsingContextPrintParameters {
177
+ context: BrowsingContextBrowsingContext;
178
+ background?: boolean;
179
+ margin?: BrowsingContextPrintMarginParameters;
180
+ /**
181
+ * @default 'portrait'
182
+ */
183
+ orientation?: "portrait" | "landscape";
184
+ page?: BrowsingContextPrintPageParameters;
185
+ pageRanges?: (JsUint | string)[];
186
+ /**
187
+ * @default 1
188
+ */
189
+ scale?: number;
190
+ /**
191
+ * @default true
192
+ */
193
+ shrinkToFit?: boolean;
194
+ }
195
+ export interface BrowsingContextPrintMarginParameters {
196
+ /**
197
+ * @default 1
198
+ */
199
+ bottom?: number;
200
+ /**
201
+ * @default 1
202
+ */
203
+ left?: number;
204
+ /**
205
+ * @default 1
206
+ */
207
+ right?: number;
208
+ /**
209
+ * @default 1
210
+ */
211
+ top?: number;
212
+ }
213
+ export interface BrowsingContextPrintPageParameters {
214
+ /**
215
+ * @default 27.94
216
+ */
217
+ height?: number;
218
+ /**
219
+ * @default 21.59
220
+ */
221
+ width?: number;
222
+ }
223
+ export interface BrowsingContextPrintResult {
224
+ data: string;
225
+ }
226
+ export interface BrowsingContextReload {
227
+ method: "browsingContext.reload";
228
+ params: BrowsingContextReloadParameters;
229
+ }
230
+ export interface BrowsingContextReloadParameters {
231
+ context: BrowsingContextBrowsingContext;
232
+ ignoreCache?: boolean;
233
+ wait?: BrowsingContextReadinessState;
234
+ }
235
+ export type BrowsingContextReloadResult = BrowsingContextNavigateResult;
236
+ export interface BrowsingContextSetBypassCsp {
237
+ method: "browsingContext.setBypassCSP";
238
+ params: BrowsingContextSetBypassCspParameters;
239
+ }
240
+ export interface BrowsingContextSetBypassCspParameters {
241
+ bypass: true | null;
242
+ contexts?: BrowsingContextBrowsingContext[];
243
+ userContexts?: BrowserUserContext[];
244
+ }
245
+ export type BrowsingContextSetBypassCspResult = EmptyResult;
246
+ export interface BrowsingContextSetViewport {
247
+ method: "browsingContext.setViewport";
248
+ params: BrowsingContextSetViewportParameters;
249
+ }
250
+ export interface BrowsingContextSetViewportParameters {
251
+ context?: BrowsingContextBrowsingContext;
252
+ viewport?: BrowsingContextViewport | null;
253
+ devicePixelRatio?: number | null;
254
+ userContexts?: BrowserUserContext[];
255
+ }
256
+ export interface BrowsingContextViewport {
257
+ width: JsUint;
258
+ height: JsUint;
259
+ }
260
+ export type BrowsingContextSetViewportResult = EmptyResult;
261
+ export interface BrowsingContextStartScreencast {
262
+ method: "browsingContext.startScreencast";
263
+ params: BrowsingContextStartScreencastParameters;
264
+ }
265
+ export interface BrowsingContextStartScreencastParameters {
266
+ context: BrowsingContextBrowsingContext;
267
+ mimeType?: string;
268
+ video?: BrowsingContextMediaTrackConstraints;
269
+ audio?: boolean;
270
+ }
271
+ export interface BrowsingContextMediaTrackConstraints {
272
+ width?: JsUint;
273
+ height?: JsUint;
274
+ frameRate?: JsUint;
275
+ }
276
+ export interface BrowsingContextStartScreencastResult {
277
+ screencast: BrowsingContextScreencast;
278
+ path: string;
279
+ }
280
+ export type BrowsingContextScreencast = string;
281
+ export interface BrowsingContextStopScreencast {
282
+ method: "browsingContext.stopScreencast";
283
+ params: BrowsingContextStopScreencastParameters;
284
+ }
285
+ export interface BrowsingContextStopScreencastParameters {
286
+ screencast: BrowsingContextScreencast;
287
+ }
288
+ export interface BrowsingContextStopScreencastResult {
289
+ path: string;
290
+ error?: string;
291
+ }
292
+ export interface BrowsingContextTraverseHistory {
293
+ method: "browsingContext.traverseHistory";
294
+ params: BrowsingContextTraverseHistoryParameters;
295
+ }
296
+ export interface BrowsingContextTraverseHistoryParameters {
297
+ context: BrowsingContextBrowsingContext;
298
+ delta: JsInt;
299
+ }
300
+ export type BrowsingContextTraverseHistoryResult = EmptyResult;
301
+ export interface BrowsingContextContextCreated {
302
+ method: "browsingContext.contextCreated";
303
+ params: BrowsingContextInfo;
304
+ }
305
+ export interface BrowsingContextContextDestroyed {
306
+ method: "browsingContext.contextDestroyed";
307
+ params: BrowsingContextInfo;
308
+ }
309
+ export interface BrowsingContextNavigationStarted {
310
+ method: "browsingContext.navigationStarted";
311
+ params: BrowsingContextNavigationInfo;
312
+ }
313
+ export interface BrowsingContextFragmentNavigated {
314
+ method: "browsingContext.fragmentNavigated";
315
+ params: BrowsingContextNavigationInfo;
316
+ }
317
+ export interface BrowsingContextHistoryUpdated {
318
+ method: "browsingContext.historyUpdated";
319
+ params: BrowsingContextHistoryUpdatedParameters;
320
+ }
321
+ export interface BrowsingContextHistoryUpdatedParameters {
322
+ context: BrowsingContextBrowsingContext;
323
+ timestamp: JsUint;
324
+ url: string;
325
+ userContext?: BrowserUserContext;
326
+ }
327
+ export interface BrowsingContextDomContentLoaded {
328
+ method: "browsingContext.domContentLoaded";
329
+ params: BrowsingContextNavigationInfo;
330
+ }
331
+ export interface BrowsingContextLoad {
332
+ method: "browsingContext.load";
333
+ params: BrowsingContextNavigationInfo;
334
+ }
335
+ export interface BrowsingContextDownloadWillBegin {
336
+ method: "browsingContext.downloadWillBegin";
337
+ params: BrowsingContextDownloadWillBeginParams;
338
+ }
339
+ export type BrowsingContextDownloadWillBeginParams = BrowsingContextBaseNavigationInfo & {
340
+ download: BrowsingContextDownload;
341
+ suggestedFilename: string;
342
+ };
343
+ export interface BrowsingContextDownloadEnd {
344
+ method: "browsingContext.downloadEnd";
345
+ params: BrowsingContextDownloadEndParams;
346
+ }
347
+ export type BrowsingContextDownloadEndParams = (BrowsingContextDownloadCanceledParams | BrowsingContextDownloadCompleteParams);
348
+ export type BrowsingContextDownloadCanceledParams = BrowsingContextBaseNavigationInfo & {
349
+ status: "canceled";
350
+ download: BrowsingContextDownload;
351
+ };
352
+ export type BrowsingContextDownloadCompleteParams = BrowsingContextBaseNavigationInfo & {
353
+ status: "complete";
354
+ download: BrowsingContextDownload;
355
+ filepath: string | null;
356
+ };
357
+ export interface BrowsingContextNavigationAborted {
358
+ method: "browsingContext.navigationAborted";
359
+ params: BrowsingContextNavigationInfo;
360
+ }
361
+ export interface BrowsingContextNavigationCommitted {
362
+ method: "browsingContext.navigationCommitted";
363
+ params: BrowsingContextNavigationInfo;
364
+ }
365
+ export interface BrowsingContextNavigationFailed {
366
+ method: "browsingContext.navigationFailed";
367
+ params: BrowsingContextNavigationInfo;
368
+ }
369
+ export interface BrowsingContextUserPromptClosed {
370
+ method: "browsingContext.userPromptClosed";
371
+ params: BrowsingContextUserPromptClosedParameters;
372
+ }
373
+ export interface BrowsingContextUserPromptClosedParameters {
374
+ context: BrowsingContextBrowsingContext;
375
+ accepted: boolean;
376
+ type: BrowsingContextUserPromptType;
377
+ userContext?: BrowserUserContext;
378
+ userText?: string;
379
+ }
380
+ export interface BrowsingContextUserPromptOpened {
381
+ method: "browsingContext.userPromptOpened";
382
+ params: BrowsingContextUserPromptOpenedParameters;
383
+ }
384
+ export interface BrowsingContextUserPromptOpenedParameters {
385
+ context: BrowsingContextBrowsingContext;
386
+ handler: SessionUserPromptHandlerType;
387
+ message: string;
388
+ type: BrowsingContextUserPromptType;
389
+ userContext?: BrowserUserContext;
390
+ defaultValue?: string;
391
+ }
392
+ /** @deprecated Use {@link BrowsingContext.create} instead — will be removed in a future major version. */
393
+ export declare function getBrowsingContextInstance(driver: unknown): Promise<BrowsingContext>;
394
+ export declare class BrowsingContext {
395
+ private readonly bidi;
396
+ private constructor();
397
+ static create(driver: unknown): Promise<BrowsingContext>;
398
+ activate(params: BrowsingContextActivateParameters): Promise<void>;
399
+ captureScreenshot(params: BrowsingContextCaptureScreenshotParameters): Promise<BrowsingContextCaptureScreenshotResult>;
400
+ close(params: BrowsingContextCloseParameters): Promise<void>;
401
+ create(params: BrowsingContextCreateParameters): Promise<BrowsingContextCreateResult>;
402
+ getTree(params: BrowsingContextGetTreeParameters): Promise<BrowsingContextGetTreeResult>;
403
+ handleUserPrompt(params: BrowsingContextHandleUserPromptParameters): Promise<void>;
404
+ locateNodes(params: BrowsingContextLocateNodesParameters): Promise<BrowsingContextLocateNodesResult>;
405
+ navigate(params: BrowsingContextNavigateParameters): Promise<BrowsingContextNavigateResult>;
406
+ print(params: BrowsingContextPrintParameters): Promise<BrowsingContextPrintResult>;
407
+ reload(params: BrowsingContextReloadParameters): Promise<BrowsingContextReloadResult>;
408
+ setBypassCSP(params: BrowsingContextSetBypassCspParameters): Promise<void>;
409
+ setViewport(params: BrowsingContextSetViewportParameters): Promise<void>;
410
+ startScreencast(params: BrowsingContextStartScreencastParameters): Promise<BrowsingContextStartScreencastResult>;
411
+ stopScreencast(params: BrowsingContextStopScreencastParameters): Promise<BrowsingContextStopScreencastResult>;
412
+ traverseHistory(params: BrowsingContextTraverseHistoryParameters): Promise<void>;
413
+ onContextCreated(callback: (params: BrowsingContextInfo) => void): Promise<void>;
414
+ onContextDestroyed(callback: (params: BrowsingContextInfo) => void): Promise<void>;
415
+ onDomContentLoaded(callback: (params: BrowsingContextNavigationInfo) => void): Promise<void>;
416
+ onDownloadEnd(callback: (params: BrowsingContextDownloadEndParams) => void): Promise<void>;
417
+ onDownloadWillBegin(callback: (params: BrowsingContextDownloadWillBeginParams) => void): Promise<void>;
418
+ onFragmentNavigated(callback: (params: BrowsingContextNavigationInfo) => void): Promise<void>;
419
+ onHistoryUpdated(callback: (params: BrowsingContextHistoryUpdatedParameters) => void): Promise<void>;
420
+ onLoad(callback: (params: BrowsingContextNavigationInfo) => void): Promise<void>;
421
+ onNavigationAborted(callback: (params: BrowsingContextNavigationInfo) => void): Promise<void>;
422
+ onNavigationCommitted(callback: (params: BrowsingContextNavigationInfo) => void): Promise<void>;
423
+ onNavigationFailed(callback: (params: BrowsingContextNavigationInfo) => void): Promise<void>;
424
+ onNavigationStarted(callback: (params: BrowsingContextNavigationInfo) => void): Promise<void>;
425
+ onUserPromptClosed(callback: (params: BrowsingContextUserPromptClosedParameters) => void): Promise<void>;
426
+ onUserPromptOpened(callback: (params: BrowsingContextUserPromptOpenedParameters) => void): Promise<void>;
427
+ back(context: BrowsingContextBrowsingContext): Promise<void>;
428
+ forward(context: BrowsingContextBrowsingContext): Promise<void>;
429
+ getTopLevelContexts(): Promise<BrowsingContextGetTreeResult>;
430
+ printPage(params: BrowsingContextPrintParameters): Promise<BrowsingContextPrintResult>;
431
+ }