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,151 @@
1
+ import type { BrowserUserContext } from './browser.js';
2
+ import type { BrowsingContextBrowsingContext } from './browsing_context.js';
3
+ import type { EmptyResult, JsInt, JsUint } from './common.js';
4
+ import type { ScriptSharedReference } from './script.js';
5
+ export type InputCommand = InputPerformActions | InputReleaseActions | InputSetFiles;
6
+ export type InputResult = InputPerformActionsResult | InputReleaseActionsResult | InputSetFilesResult;
7
+ export type InputEvent = InputFileDialogOpened;
8
+ export interface InputElementOrigin {
9
+ type: "element";
10
+ element: ScriptSharedReference;
11
+ }
12
+ export interface InputPerformActions {
13
+ method: "input.performActions";
14
+ params: InputPerformActionsParameters;
15
+ }
16
+ export interface InputPerformActionsParameters {
17
+ context: BrowsingContextBrowsingContext;
18
+ actions: InputSourceActions[];
19
+ }
20
+ export type InputSourceActions = InputNoneSourceActions | InputKeySourceActions | InputPointerSourceActions | InputWheelSourceActions;
21
+ export interface InputNoneSourceActions {
22
+ type: "none";
23
+ id: string;
24
+ actions: InputNoneSourceAction[];
25
+ }
26
+ export type InputNoneSourceAction = InputPauseAction;
27
+ export interface InputKeySourceActions {
28
+ type: "key";
29
+ id: string;
30
+ actions: InputKeySourceAction[];
31
+ }
32
+ export type InputKeySourceAction = InputPauseAction | InputKeyDownAction | InputKeyUpAction;
33
+ export interface InputPointerSourceActions {
34
+ type: "pointer";
35
+ id: string;
36
+ parameters?: InputPointerParameters;
37
+ actions: InputPointerSourceAction[];
38
+ }
39
+ export type InputPointerType = "mouse" | "pen" | "touch";
40
+ export interface InputPointerParameters {
41
+ /**
42
+ * @default 'mouse'
43
+ */
44
+ pointerType?: InputPointerType;
45
+ }
46
+ export type InputPointerSourceAction = InputPauseAction | InputPointerDownAction | InputPointerUpAction | InputPointerMoveAction;
47
+ export interface InputWheelSourceActions {
48
+ type: "wheel";
49
+ id: string;
50
+ actions: InputWheelSourceAction[];
51
+ }
52
+ export type InputWheelSourceAction = InputPauseAction | InputWheelScrollAction;
53
+ export interface InputPauseAction {
54
+ type: "pause";
55
+ duration?: JsUint;
56
+ }
57
+ export interface InputKeyDownAction {
58
+ type: "keyDown";
59
+ value: string;
60
+ }
61
+ export interface InputKeyUpAction {
62
+ type: "keyUp";
63
+ value: string;
64
+ }
65
+ export interface InputPointerUpAction {
66
+ type: "pointerUp";
67
+ button: JsUint;
68
+ }
69
+ export type InputPointerDownAction = InputPointerCommonProperties & {
70
+ type: "pointerDown";
71
+ button: JsUint;
72
+ };
73
+ export type InputPointerMoveAction = InputPointerCommonProperties & {
74
+ type: "pointerMove";
75
+ x: number;
76
+ y: number;
77
+ duration?: JsUint;
78
+ origin?: InputOrigin;
79
+ };
80
+ export interface InputWheelScrollAction {
81
+ type: "scroll";
82
+ x: JsInt;
83
+ y: JsInt;
84
+ deltaX: JsInt;
85
+ deltaY: JsInt;
86
+ duration?: JsUint;
87
+ /**
88
+ * @default 'viewport'
89
+ */
90
+ origin?: InputOrigin;
91
+ }
92
+ export interface InputPointerCommonProperties {
93
+ width?: JsUint;
94
+ height?: JsUint;
95
+ pressure?: number;
96
+ tangentialPressure?: number;
97
+ /**
98
+ * 0 .. Math.PI / 2
99
+ */
100
+ twist?: number;
101
+ /**
102
+ * 0 .. 2 * Math.PI
103
+ */
104
+ altitudeAngle?: number;
105
+ azimuthAngle?: number;
106
+ }
107
+ export type InputOrigin = "viewport" | "pointer" | InputElementOrigin;
108
+ export type InputPerformActionsResult = EmptyResult;
109
+ export interface InputReleaseActions {
110
+ method: "input.releaseActions";
111
+ params: InputReleaseActionsParameters;
112
+ }
113
+ export interface InputReleaseActionsParameters {
114
+ context: BrowsingContextBrowsingContext;
115
+ }
116
+ export type InputReleaseActionsResult = EmptyResult;
117
+ export interface InputSetFiles {
118
+ method: "input.setFiles";
119
+ params: InputSetFilesParameters;
120
+ }
121
+ export interface InputSetFilesParameters {
122
+ context: BrowsingContextBrowsingContext;
123
+ element: ScriptSharedReference;
124
+ files: string[];
125
+ }
126
+ export type InputSetFilesResult = EmptyResult;
127
+ export interface InputFileDialogOpened {
128
+ method: "input.fileDialogOpened";
129
+ params: InputFileDialogInfo;
130
+ }
131
+ export interface InputFileDialogInfo {
132
+ context: BrowsingContextBrowsingContext;
133
+ userContext?: BrowserUserContext;
134
+ element?: ScriptSharedReference;
135
+ multiple: boolean;
136
+ }
137
+ /** @deprecated Use {@link Input.create} instead — will be removed in a future major version. */
138
+ export declare function getInputInstance(driver: unknown): Promise<Input>;
139
+ export declare class Input {
140
+ private readonly bidi;
141
+ private constructor();
142
+ static create(driver: unknown): Promise<Input>;
143
+ performActions(params: InputPerformActionsParameters): Promise<void>;
144
+ releaseActions(params: InputReleaseActionsParameters): Promise<void>;
145
+ setFiles(params: InputSetFilesParameters): Promise<void>;
146
+ onFileDialogOpened(callback: (params: InputFileDialogInfo) => void): Promise<void>;
147
+ /** @deprecated Use {@link performActions} instead — will be removed in a future major version. */
148
+ perform(browsingContextId: string, actions: InputSourceActions[]): Promise<void>;
149
+ /** @deprecated Use {@link releaseActions} instead — will be removed in a future major version. */
150
+ release(browsingContextId: string): Promise<void>;
151
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ // Licensed to the Software Freedom Conservancy (SFC) under one
3
+ // or more contributor license agreements. See the NOTICE file
4
+ // distributed with this work for additional information
5
+ // regarding copyright ownership. The SFC licenses this file
6
+ // to you under the Apache License, Version 2.0 (the
7
+ // "License"); you may not use this file except in compliance
8
+ // with the License. You may obtain a copy of the License at
9
+ //
10
+ // http://www.apache.org/licenses/LICENSE-2.0
11
+ //
12
+ // Unless required by applicable law or agreed to in writing,
13
+ // software distributed under the License is distributed on an
14
+ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ // KIND, either express or implied. See the License for the
16
+ // specific language governing permissions and limitations
17
+ // under the License.
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.Input = void 0;
20
+ exports.getInputInstance = getInputInstance;
21
+ // --- Additional Types ---
22
+ /** @deprecated Use {@link Input.create} instead — will be removed in a future major version. */
23
+ async function getInputInstance(driver) {
24
+ return Input.create(driver);
25
+ }
26
+ // --- Implementation ---
27
+ class Input {
28
+ constructor(bidi) {
29
+ this.bidi = bidi;
30
+ }
31
+ static async create(driver) {
32
+ const caps = await driver.getCapabilities();
33
+ if (!caps.get('webSocketUrl')) {
34
+ throw new Error('WebDriver instance must support BiDi protocol');
35
+ }
36
+ const bidi = await driver.getBidi();
37
+ return new Input(bidi);
38
+ }
39
+ async performActions(params) {
40
+ const response = await this.bidi.send({
41
+ method: 'input.performActions',
42
+ params: params,
43
+ });
44
+ if (response['type'] === 'error') {
45
+ throw new Error(`${response['error']}: ${response['message']}`);
46
+ }
47
+ }
48
+ async releaseActions(params) {
49
+ const response = await this.bidi.send({
50
+ method: 'input.releaseActions',
51
+ params: params,
52
+ });
53
+ if (response['type'] === 'error') {
54
+ throw new Error(`${response['error']}: ${response['message']}`);
55
+ }
56
+ }
57
+ async setFiles(params) {
58
+ const response = await this.bidi.send({
59
+ method: 'input.setFiles',
60
+ params: params,
61
+ });
62
+ if (response['type'] === 'error') {
63
+ throw new Error(`${response['error']}: ${response['message']}`);
64
+ }
65
+ }
66
+ async onFileDialogOpened(callback) {
67
+ await this.bidi.subscribe('input.fileDialogOpened');
68
+ this.bidi.on('input.fileDialogOpened', (params) => {
69
+ callback(params);
70
+ });
71
+ }
72
+ /** @deprecated Use {@link performActions} instead — will be removed in a future major version. */
73
+ async perform(browsingContextId, actions) {
74
+ await this.performActions({ context: browsingContextId, actions });
75
+ }
76
+ /** @deprecated Use {@link releaseActions} instead — will be removed in a future major version. */
77
+ async release(browsingContextId) {
78
+ await this.releaseActions({ context: browsingContextId });
79
+ }
80
+ }
81
+ exports.Input = Input;
@@ -0,0 +1,39 @@
1
+ import type { JsUint } from './common.js';
2
+ import type { ScriptRemoteValue, ScriptSource, ScriptStackTrace } from './script.js';
3
+ export type LogEvent = LogEntryAdded;
4
+ export type LogLevel = "debug" | "info" | "warn" | "error";
5
+ export type LogEntry = LogGenericLogEntry | LogConsoleLogEntry | LogJavascriptLogEntry;
6
+ export interface LogBaseLogEntry {
7
+ level: LogLevel;
8
+ source: ScriptSource;
9
+ text: string | null;
10
+ timestamp: JsUint;
11
+ stackTrace?: ScriptStackTrace;
12
+ }
13
+ export type LogGenericLogEntry = LogBaseLogEntry & {
14
+ type: string;
15
+ };
16
+ export type LogConsoleLogEntry = LogBaseLogEntry & {
17
+ type: "console";
18
+ method: string;
19
+ args: ScriptRemoteValue[];
20
+ };
21
+ export type LogJavascriptLogEntry = LogBaseLogEntry & {
22
+ type: "javascript";
23
+ };
24
+ export interface LogEntryAdded {
25
+ method: "log.entryAdded";
26
+ params: LogEntry;
27
+ }
28
+ /** @deprecated Use {@link Log.create} instead — will be removed in a future major version. */
29
+ export declare function getLogInspectorInstance(driver: unknown): Promise<Log>;
30
+ export declare class Log {
31
+ private readonly bidi;
32
+ private constructor();
33
+ static create(driver: unknown): Promise<Log>;
34
+ onEntryAdded(callback: (params: LogEntry) => void): Promise<void>;
35
+ onConsoleEntry(callback: (params: LogEntry) => void): Promise<void>;
36
+ onJavascriptLog(callback: (params: LogEntry) => void): Promise<void>;
37
+ onJavascriptException(callback: (params: LogEntry) => void): Promise<void>;
38
+ onLog(callback: (params: LogEntry) => void): Promise<void>;
39
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ // Licensed to the Software Freedom Conservancy (SFC) under one
3
+ // or more contributor license agreements. See the NOTICE file
4
+ // distributed with this work for additional information
5
+ // regarding copyright ownership. The SFC licenses this file
6
+ // to you under the Apache License, Version 2.0 (the
7
+ // "License"); you may not use this file except in compliance
8
+ // with the License. You may obtain a copy of the License at
9
+ //
10
+ // http://www.apache.org/licenses/LICENSE-2.0
11
+ //
12
+ // Unless required by applicable law or agreed to in writing,
13
+ // software distributed under the License is distributed on an
14
+ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ // KIND, either express or implied. See the License for the
16
+ // specific language governing permissions and limitations
17
+ // under the License.
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.Log = void 0;
20
+ exports.getLogInspectorInstance = getLogInspectorInstance;
21
+ // --- Additional Types ---
22
+ /** @deprecated Use {@link Log.create} instead — will be removed in a future major version. */
23
+ async function getLogInspectorInstance(driver) {
24
+ return Log.create(driver);
25
+ }
26
+ // --- Implementation ---
27
+ class Log {
28
+ constructor(bidi) {
29
+ this.bidi = bidi;
30
+ }
31
+ static async create(driver) {
32
+ const caps = await driver.getCapabilities();
33
+ if (!caps.get('webSocketUrl')) {
34
+ throw new Error('WebDriver instance must support BiDi protocol');
35
+ }
36
+ const bidi = await driver.getBidi();
37
+ return new Log(bidi);
38
+ }
39
+ async onEntryAdded(callback) {
40
+ await this.bidi.subscribe('log.entryAdded');
41
+ this.bidi.on('log.entryAdded', (params) => {
42
+ callback(params);
43
+ });
44
+ }
45
+ async onConsoleEntry(callback) {
46
+ await this.onEntryAdded((entry) => {
47
+ if (entry.type === 'console')
48
+ callback(entry);
49
+ });
50
+ }
51
+ async onJavascriptLog(callback) {
52
+ await this.onEntryAdded((entry) => {
53
+ if (entry.type === 'javascript')
54
+ callback(entry);
55
+ });
56
+ }
57
+ async onJavascriptException(callback) {
58
+ await this.onEntryAdded((entry) => {
59
+ if (entry.type === 'javascript' && entry.level === 'error')
60
+ callback(entry);
61
+ });
62
+ }
63
+ async onLog(callback) {
64
+ await this.onEntryAdded(callback);
65
+ }
66
+ }
67
+ exports.Log = Log;
@@ -0,0 +1,359 @@
1
+ import type { BrowserUserContext } from './browser.js';
2
+ import type { BrowsingContextBrowsingContext, BrowsingContextNavigation } from './browsing_context.js';
3
+ import type { EmptyResult, Extensible, JsInt, JsUint } from './common.js';
4
+ import type { ScriptStackTrace } from './script.js';
5
+ export type NetworkCommand = NetworkAddDataCollector | NetworkAddIntercept | NetworkContinueRequest | NetworkContinueResponse | NetworkContinueWithAuth | NetworkDisownData | NetworkFailRequest | NetworkGetData | NetworkProvideResponse | NetworkRemoveDataCollector | NetworkRemoveIntercept | NetworkSetCacheBehavior | NetworkSetExtraHeaders;
6
+ export type NetworkResult = NetworkAddDataCollectorResult | NetworkAddInterceptResult | NetworkContinueRequestResult | NetworkContinueResponseResult | NetworkContinueWithAuthResult | NetworkDisownDataResult | NetworkFailRequestResult | NetworkGetDataResult | NetworkProvideResponseResult | NetworkRemoveDataCollectorResult | NetworkRemoveInterceptResult | NetworkSetCacheBehaviorResult | NetworkSetExtraHeadersResult;
7
+ export type NetworkEvent = NetworkAuthRequired | NetworkBeforeRequestSent | NetworkFetchError | NetworkResponseCompleted | NetworkResponseStarted;
8
+ export interface NetworkAuthChallenge {
9
+ scheme: string;
10
+ realm: string;
11
+ }
12
+ export interface NetworkAuthCredentials {
13
+ type: "password";
14
+ username: string;
15
+ password: string;
16
+ }
17
+ export interface NetworkBaseParameters {
18
+ context: BrowsingContextBrowsingContext | null;
19
+ isBlocked: boolean;
20
+ navigation: BrowsingContextNavigation | null;
21
+ redirectCount: JsUint;
22
+ request: NetworkRequestData;
23
+ timestamp: JsUint;
24
+ userContext?: BrowserUserContext | null;
25
+ intercepts?: NetworkIntercept[];
26
+ }
27
+ export type NetworkBytesValue = NetworkStringValue | NetworkBase64Value;
28
+ export interface NetworkStringValue {
29
+ type: "string";
30
+ value: string;
31
+ }
32
+ export interface NetworkBase64Value {
33
+ type: "base64";
34
+ value: string;
35
+ }
36
+ export type NetworkCollector = string;
37
+ export type NetworkCollectorType = "blob";
38
+ export type NetworkSameSite = "strict" | "lax" | "none" | "default";
39
+ export type NetworkCookie = Extensible & {
40
+ name: string;
41
+ value: NetworkBytesValue;
42
+ domain: string;
43
+ path: string;
44
+ size: JsUint;
45
+ httpOnly: boolean;
46
+ secure: boolean;
47
+ sameSite: NetworkSameSite;
48
+ expiry?: JsUint;
49
+ };
50
+ export interface NetworkCookieHeader {
51
+ name: string;
52
+ value: NetworkBytesValue;
53
+ }
54
+ export type NetworkDataType = "request" | "response";
55
+ export interface NetworkFetchTimingInfo {
56
+ timeOrigin: number;
57
+ requestTime: number;
58
+ redirectStart: number;
59
+ redirectEnd: number;
60
+ fetchStart: number;
61
+ dnsStart: number;
62
+ dnsEnd: number;
63
+ connectStart: number;
64
+ connectEnd: number;
65
+ tlsStart: number;
66
+ requestStart: number;
67
+ responseStart: number;
68
+ responseEnd: number;
69
+ }
70
+ export interface NetworkHeader {
71
+ name: string;
72
+ value: NetworkBytesValue;
73
+ }
74
+ export interface NetworkInitiator {
75
+ columnNumber?: JsUint;
76
+ lineNumber?: JsUint;
77
+ request?: NetworkRequest;
78
+ stackTrace?: ScriptStackTrace;
79
+ type?: "parser" | "script" | "preflight" | "other";
80
+ }
81
+ export type NetworkIntercept = string;
82
+ export type NetworkRequest = string;
83
+ export interface NetworkRequestData {
84
+ request: NetworkRequest;
85
+ url: string;
86
+ method: string;
87
+ headers: NetworkHeader[];
88
+ cookies: NetworkCookie[];
89
+ headersSize: JsUint;
90
+ bodySize: JsUint | null;
91
+ destination: string;
92
+ initiatorType: string | null;
93
+ timings: NetworkFetchTimingInfo;
94
+ }
95
+ export interface NetworkResponseContent {
96
+ size: JsUint;
97
+ }
98
+ export interface NetworkResponseData {
99
+ url: string;
100
+ protocol: string;
101
+ status: JsUint;
102
+ statusText: string;
103
+ fromCache: boolean;
104
+ headers: NetworkHeader[];
105
+ mimeType: string;
106
+ bytesReceived: JsUint;
107
+ headersSize: JsUint | null;
108
+ bodySize: JsUint | null;
109
+ content: NetworkResponseContent;
110
+ authChallenges?: NetworkAuthChallenge[];
111
+ }
112
+ export interface NetworkSetCookieHeader {
113
+ name: string;
114
+ value: NetworkBytesValue;
115
+ domain?: string;
116
+ httpOnly?: boolean;
117
+ expiry?: string;
118
+ maxAge?: JsInt;
119
+ path?: string;
120
+ sameSite?: NetworkSameSite;
121
+ secure?: boolean;
122
+ }
123
+ export type NetworkUrlPattern = NetworkUrlPatternPattern | NetworkUrlPatternString;
124
+ export interface NetworkUrlPatternPattern {
125
+ type: "pattern";
126
+ protocol?: string;
127
+ hostname?: string;
128
+ port?: string;
129
+ pathname?: string;
130
+ search?: string;
131
+ }
132
+ export interface NetworkUrlPatternString {
133
+ type: "string";
134
+ pattern: string;
135
+ }
136
+ export interface NetworkAddDataCollector {
137
+ method: "network.addDataCollector";
138
+ params: NetworkAddDataCollectorParameters;
139
+ }
140
+ export interface NetworkAddDataCollectorParameters {
141
+ dataTypes: NetworkDataType[];
142
+ maxEncodedDataSize: JsUint;
143
+ /**
144
+ * @default 'blob'
145
+ */
146
+ collectorType?: NetworkCollectorType;
147
+ contexts?: BrowsingContextBrowsingContext[];
148
+ userContexts?: BrowserUserContext[];
149
+ }
150
+ export interface NetworkAddDataCollectorResult {
151
+ collector: NetworkCollector;
152
+ }
153
+ export interface NetworkAddIntercept {
154
+ method: "network.addIntercept";
155
+ params: NetworkAddInterceptParameters;
156
+ }
157
+ export interface NetworkAddInterceptParameters {
158
+ phases: NetworkInterceptPhase[];
159
+ contexts?: BrowsingContextBrowsingContext[];
160
+ urlPatterns?: NetworkUrlPattern[];
161
+ }
162
+ export type NetworkInterceptPhase = "beforeRequestSent" | "responseStarted" | "authRequired";
163
+ export interface NetworkAddInterceptResult {
164
+ intercept: NetworkIntercept;
165
+ }
166
+ export interface NetworkContinueRequest {
167
+ method: "network.continueRequest";
168
+ params: NetworkContinueRequestParameters;
169
+ }
170
+ export interface NetworkContinueRequestParameters {
171
+ request: NetworkRequest;
172
+ body?: NetworkBytesValue;
173
+ cookies?: NetworkCookieHeader[];
174
+ headers?: NetworkHeader[];
175
+ method?: string;
176
+ url?: string;
177
+ }
178
+ export type NetworkContinueRequestResult = EmptyResult;
179
+ export interface NetworkContinueResponse {
180
+ method: "network.continueResponse";
181
+ params: NetworkContinueResponseParameters;
182
+ }
183
+ export interface NetworkContinueResponseParameters {
184
+ request: NetworkRequest;
185
+ cookies?: NetworkSetCookieHeader[];
186
+ credentials?: NetworkAuthCredentials;
187
+ headers?: NetworkHeader[];
188
+ reasonPhrase?: string;
189
+ statusCode?: JsUint;
190
+ }
191
+ export type NetworkContinueResponseResult = EmptyResult;
192
+ export interface NetworkContinueWithAuth {
193
+ method: "network.continueWithAuth";
194
+ params: NetworkContinueWithAuthParameters;
195
+ }
196
+ export type NetworkContinueWithAuthParameters = (NetworkContinueWithAuthCredentials | NetworkContinueWithAuthNoCredentials) & {
197
+ request: NetworkRequest;
198
+ };
199
+ export interface NetworkContinueWithAuthCredentials {
200
+ action: "provideCredentials";
201
+ credentials: NetworkAuthCredentials;
202
+ }
203
+ export interface NetworkContinueWithAuthNoCredentials {
204
+ action: "default" | "cancel";
205
+ }
206
+ export type NetworkContinueWithAuthResult = EmptyResult;
207
+ export interface NetworkDisownData {
208
+ method: "network.disownData";
209
+ params: NetworkDisownDataParameters;
210
+ }
211
+ export interface NetworkDisownDataParameters {
212
+ dataType: NetworkDataType;
213
+ collector: NetworkCollector;
214
+ request: NetworkRequest;
215
+ }
216
+ export type NetworkDisownDataResult = EmptyResult;
217
+ export interface NetworkFailRequest {
218
+ method: "network.failRequest";
219
+ params: NetworkFailRequestParameters;
220
+ }
221
+ export interface NetworkFailRequestParameters {
222
+ request: NetworkRequest;
223
+ }
224
+ export type NetworkFailRequestResult = EmptyResult;
225
+ export interface NetworkGetData {
226
+ method: "network.getData";
227
+ params: NetworkGetDataParameters;
228
+ }
229
+ export interface NetworkGetDataParameters {
230
+ dataType: NetworkDataType;
231
+ collector?: NetworkCollector;
232
+ disown?: boolean;
233
+ request: NetworkRequest;
234
+ }
235
+ export interface NetworkGetDataResult {
236
+ bytes: NetworkBytesValue;
237
+ }
238
+ export interface NetworkProvideResponse {
239
+ method: "network.provideResponse";
240
+ params: NetworkProvideResponseParameters;
241
+ }
242
+ export interface NetworkProvideResponseParameters {
243
+ request: NetworkRequest;
244
+ body?: NetworkBytesValue;
245
+ cookies?: NetworkSetCookieHeader[];
246
+ headers?: NetworkHeader[];
247
+ reasonPhrase?: string;
248
+ statusCode?: JsUint;
249
+ }
250
+ export type NetworkProvideResponseResult = EmptyResult;
251
+ export interface NetworkRemoveDataCollector {
252
+ method: "network.removeDataCollector";
253
+ params: NetworkRemoveDataCollectorParameters;
254
+ }
255
+ export interface NetworkRemoveDataCollectorParameters {
256
+ collector: NetworkCollector;
257
+ }
258
+ export type NetworkRemoveDataCollectorResult = EmptyResult;
259
+ export interface NetworkRemoveIntercept {
260
+ method: "network.removeIntercept";
261
+ params: NetworkRemoveInterceptParameters;
262
+ }
263
+ export interface NetworkRemoveInterceptParameters {
264
+ intercept: NetworkIntercept;
265
+ }
266
+ export type NetworkRemoveInterceptResult = EmptyResult;
267
+ export interface NetworkSetCacheBehavior {
268
+ method: "network.setCacheBehavior";
269
+ params: NetworkSetCacheBehaviorParameters;
270
+ }
271
+ export interface NetworkSetCacheBehaviorParameters {
272
+ cacheBehavior: "default" | "bypass";
273
+ contexts?: BrowsingContextBrowsingContext[];
274
+ }
275
+ export type NetworkSetCacheBehaviorResult = EmptyResult;
276
+ export interface NetworkSetExtraHeaders {
277
+ method: "network.setExtraHeaders";
278
+ params: NetworkSetExtraHeadersParameters;
279
+ }
280
+ export interface NetworkSetExtraHeadersParameters {
281
+ headers: NetworkHeader[];
282
+ contexts?: BrowsingContextBrowsingContext[];
283
+ userContexts?: BrowserUserContext[];
284
+ }
285
+ export type NetworkSetExtraHeadersResult = EmptyResult;
286
+ export interface NetworkAuthRequired {
287
+ method: "network.authRequired";
288
+ params: NetworkAuthRequiredParameters;
289
+ }
290
+ export type NetworkAuthRequiredParameters = NetworkBaseParameters & {
291
+ response: NetworkResponseData;
292
+ };
293
+ export interface NetworkBeforeRequestSent {
294
+ method: "network.beforeRequestSent";
295
+ params: NetworkBeforeRequestSentParameters;
296
+ }
297
+ export type NetworkBeforeRequestSentParameters = NetworkBaseParameters & {
298
+ initiator?: NetworkInitiator;
299
+ };
300
+ export interface NetworkFetchError {
301
+ method: "network.fetchError";
302
+ params: NetworkFetchErrorParameters;
303
+ }
304
+ export type NetworkFetchErrorParameters = NetworkBaseParameters & {
305
+ errorText: string;
306
+ };
307
+ export interface NetworkResponseCompleted {
308
+ method: "network.responseCompleted";
309
+ params: NetworkResponseCompletedParameters;
310
+ }
311
+ export type NetworkResponseCompletedParameters = NetworkBaseParameters & {
312
+ response: NetworkResponseData;
313
+ };
314
+ export interface NetworkResponseStarted {
315
+ method: "network.responseStarted";
316
+ params: NetworkResponseStartedParameters;
317
+ }
318
+ export type NetworkResponseStartedParameters = NetworkBaseParameters & {
319
+ response: NetworkResponseData;
320
+ };
321
+ /** @deprecated Use {@link Network.create} instead — will be removed in a future major version. */
322
+ export declare function getNetworkInstance(driver: unknown): Promise<Network>;
323
+ export declare class Network {
324
+ private readonly bidi;
325
+ private constructor();
326
+ static create(driver: unknown): Promise<Network>;
327
+ addDataCollector(params: NetworkAddDataCollectorParameters): Promise<NetworkAddDataCollectorResult>;
328
+ addIntercept(params: NetworkAddInterceptParameters): Promise<NetworkAddInterceptResult>;
329
+ continueRequest(params: NetworkContinueRequestParameters): Promise<void>;
330
+ continueResponse(params: NetworkContinueResponseParameters): Promise<void>;
331
+ continueWithAuth(params: NetworkContinueWithAuthParameters): Promise<void>;
332
+ /** @deprecated Pass a NetworkContinueWithAuthParameters object instead — will be removed in a future major version. */
333
+ continueWithAuth(requestId: NetworkRequest, username: string, password: string): Promise<void>;
334
+ disownData(params: NetworkDisownDataParameters): Promise<void>;
335
+ failRequest(params: NetworkFailRequestParameters): Promise<void>;
336
+ getData(params: NetworkGetDataParameters): Promise<NetworkGetDataResult>;
337
+ provideResponse(params: NetworkProvideResponseParameters): Promise<void>;
338
+ removeDataCollector(params: NetworkRemoveDataCollectorParameters): Promise<void>;
339
+ removeIntercept(params: NetworkRemoveInterceptParameters): Promise<void>;
340
+ setCacheBehavior(params: NetworkSetCacheBehaviorParameters): Promise<void>;
341
+ setExtraHeaders(params: NetworkSetExtraHeadersParameters): Promise<void>;
342
+ onAuthRequired(callback: (params: NetworkAuthRequiredParameters) => void): Promise<void>;
343
+ onBeforeRequestSent(callback: (params: NetworkBeforeRequestSentParameters) => void): Promise<void>;
344
+ onFetchError(callback: (params: NetworkFetchErrorParameters) => void): Promise<void>;
345
+ onResponseCompleted(callback: (params: NetworkResponseCompletedParameters) => void): Promise<void>;
346
+ onResponseStarted(callback: (params: NetworkResponseStartedParameters) => void): Promise<void>;
347
+ cancelAuth(requestId: NetworkRequest): Promise<void>;
348
+ continueWithAuthNoCredentials(requestId: NetworkRequest): Promise<void>;
349
+ /** @deprecated Use {@link onBeforeRequestSent} instead — will be removed in a future major version. */
350
+ beforeRequestSent(callback: (params: NetworkBeforeRequestSentParameters) => void): Promise<void>;
351
+ /** @deprecated Use {@link onAuthRequired} instead — will be removed in a future major version. */
352
+ authRequired(callback: (params: NetworkAuthRequiredParameters) => void): Promise<void>;
353
+ /** @deprecated Use {@link onFetchError} instead — will be removed in a future major version. */
354
+ fetchError(callback: (params: NetworkFetchErrorParameters) => void): Promise<void>;
355
+ /** @deprecated Use {@link onResponseCompleted} instead — will be removed in a future major version. */
356
+ responseCompleted(callback: (params: NetworkResponseCompletedParameters) => void): Promise<void>;
357
+ /** @deprecated Use {@link onResponseStarted} instead — will be removed in a future major version. */
358
+ responseStarted(callback: (params: NetworkResponseStartedParameters) => void): Promise<void>;
359
+ }