selenium-webdriver 4.46.0 → 4.47.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.
package/CHANGES.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## 4.47.0
2
+
3
+ - Support CDP versions: v149, v150, v151
4
+ - link generated BiDi elements to their spec definitions (#17781)
5
+ - add objectOnly/preserveExtras/scalar-primitive BiDi schema signals (#17784)
6
+ - [build] Fix GeckoDriver rejecting system-access via capabilities (#17811)
7
+ - [build] standardize generated-file license and not to edit markers across generators (#17816)
8
+ - [build] Download and bundle Selenium Manager SBOM and NOTICE in each package (#17820)
9
+ - [build] BiDi schema generation cleanup (#17837)
10
+ - [build] Merge vendor cddl files into shared BiDi schema and implement custom Firefox webExtension options (#17840)
11
+ - [grid] honor client-advertised se:remoteUrl for reachable BiDi/CDP/VNC URLs (#17790)
12
+ - remove deprecated FTP proxy support (#17846)
13
+ - [bidi] Correct float/enum type fidelity in the shared schema and validate primitives outbound in Ruby (#17852)
14
+ - [bidi] mark BiDi types extensible per spec and update Ruby handling (#17853)
15
+ - validate BiDi outbound ref fields against their declared type (#17861)
16
+ - [build] derive per-type inbound/outbound directionality in the shared schema (#17864)
17
+ - [build] update node versioning for testing and publishing (#17866)
18
+ - Wait for async BiDi events and window resize in flaky tests (#17874)
19
+ - deprecate invalid Firefox profile code (#17871)
20
+ - [build] Automated Browser Version Update with CDP (#17873)
21
+
1
22
  ## 4.46.0
2
23
 
3
24
  - Support CDP versions: v148, v149, v150
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  JavaScript language bindings for [Selenium WebDriver](https://www.selenium.dev).
4
4
  Selenium automates browsers for testing and web-based task automation.
5
5
 
6
- Requires Node.js >= 20.
6
+ Requires Node.js >= 22.
7
7
 
8
8
  ## Installation
9
9
 
@@ -63,17 +63,20 @@ SELENIUM_REMOTE_URL="http://localhost:4444" node script.js
63
63
 
64
64
  ## Node Support Policy
65
65
 
66
- Each `selenium-webdriver` release targets the latest _semver-minor_ of Node's
67
- [LTS and Current releases](https://github.com/nodejs/release#release-schedule).
66
+ `selenium-webdriver` supports the Node.js versions under active upstream
67
+ support. Each is supported until its
68
+ [end-of-life](https://github.com/nodejs/release#release-schedule) date; after
69
+ that it is unsupported.
68
70
 
69
- | Level | Guarantee |
70
- | :------------ | :------------------------------------------------------------------------ |
71
- | _supported_ | API compatible without runtime flags; bugs investigated and fixed. |
72
- | _best effort_ | Bugs investigated as time permits; API compatibility only where required. |
73
- | _unsupported_ | Bug reports closed as will-not-fix; API compatibility not guaranteed. |
71
+ | Node.js | Support ends |
72
+ | :------ | :----------- |
73
+ | 22 | 2027-04-30 |
74
+ | 24 | 2028-04-30 |
75
+ | 26 | 2029-04-30 |
74
76
 
75
- Versions older than the active LTS, unstable release branches (e.g. `v.Next`),
76
- and _semver-major_ Node releases outside the LTS / Current pair are _unsupported_.
77
+ CI tests the earliest and latest supported versions available in
78
+ [rules_nodejs](https://github.com/bazel-contrib/rules_nodejs); issues and pull
79
+ requests are welcome for any supported version.
77
80
 
78
81
  ## Documentation
79
82
 
@@ -28,3 +28,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
28
28
  // (https://github.com/w3c/webref)
29
29
  // Content was automatically extracted by Reffy into webref
30
30
  // (https://github.com/w3c/webref)
31
+ // Local copy of w3c/webdriver-bidi#1140: adds the webExtension.install extension point.
32
+ // Overrides the upstream closed InstallParameters. Delete once #1140 merges and the
33
+ // pinned webref carries it. https://github.com/w3c/webdriver-bidi/pull/1140
@@ -1,8 +1,8 @@
1
1
  import type { BrowserUserContext } from './browser.js';
2
2
  import type { BrowsingContextBrowsingContext } from './browsing_context.js';
3
3
  import type { EmptyResult, JsUint } from './common.js';
4
- export type EmulationCommand = EmulationSetForcedColorsModeThemeOverride | EmulationSetGeolocationOverride | EmulationSetLocaleOverride | EmulationSetNetworkConditions | EmulationSetScreenOrientationOverride | EmulationSetScreenSettingsOverride | EmulationSetScriptingEnabled | EmulationSetScrollbarTypeOverride | EmulationSetTimezoneOverride | EmulationSetTouchOverride | EmulationSetUserAgentOverride;
5
- export type EmulationResult = EmulationSetForcedColorsModeThemeOverrideResult | EmulationSetGeolocationOverrideResult | EmulationSetLocaleOverrideResult | EmulationSetScreenOrientationOverrideResult | EmulationSetScriptingEnabledResult | EmulationSetScrollbarTypeOverrideResult | EmulationSetTimezoneOverrideResult | EmulationSetTouchOverrideResult | EmulationSetUserAgentOverrideResult;
4
+ export type EmulationCommand = EmulationSetForcedColorsModeThemeOverride | EmulationSetGeolocationOverride | EmulationSetLocaleOverride | EmulationSetMediaFeaturesOverride | EmulationSetNetworkConditions | EmulationSetScreenOrientationOverride | EmulationSetScreenSettingsOverride | EmulationSetScriptingEnabled | EmulationSetScrollbarTypeOverride | EmulationSetTimezoneOverride | EmulationSetTouchOverride | EmulationSetUserAgentOverride | EmulationSetViewportMetaOverride;
5
+ export type EmulationResult = EmulationSetForcedColorsModeThemeOverrideResult | EmulationSetGeolocationOverrideResult | EmulationSetLocaleOverrideResult | EmulationSetMediaFeaturesOverrideResult | EmulationSetScreenOrientationOverrideResult | EmulationSetScriptingEnabledResult | EmulationSetScrollbarTypeOverrideResult | EmulationSetTimezoneOverrideResult | EmulationSetTouchOverrideResult | EmulationSetUserAgentOverrideResult | EmulationSetViewportMetaOverrideResult;
6
6
  export interface EmulationSetForcedColorsModeThemeOverride {
7
7
  method: "emulation.setForcedColorsModeThemeOverride";
8
8
  params: EmulationSetForcedColorsModeThemeOverrideParameters;
@@ -64,6 +64,21 @@ export interface EmulationSetLocaleOverrideParameters {
64
64
  userContexts?: BrowserUserContext[];
65
65
  }
66
66
  export type EmulationSetLocaleOverrideResult = EmptyResult;
67
+ export interface EmulationSetMediaFeaturesOverride {
68
+ method: "emulation.setMediaFeaturesOverride";
69
+ params: EmulationSetMediaFeaturesOverrideParameters;
70
+ }
71
+ export interface EmulationSetMediaFeaturesOverrideParameters {
72
+ features: EmulationMediaFeatures | null;
73
+ contexts?: BrowsingContextBrowsingContext[];
74
+ userContexts?: BrowserUserContext[];
75
+ }
76
+ export type EmulationMediaFeatures = EmulationMediaFeature[];
77
+ export interface EmulationMediaFeature {
78
+ name: string;
79
+ value: string;
80
+ }
81
+ export type EmulationSetMediaFeaturesOverrideResult = EmptyResult;
67
82
  export interface EmulationSetNetworkConditions {
68
83
  method: "emulation.setNetworkConditions";
69
84
  params: EmulationSetNetworkConditionsParameters;
@@ -118,6 +133,16 @@ export interface EmulationSetUserAgentOverrideParameters {
118
133
  userContexts?: BrowserUserContext[];
119
134
  }
120
135
  export type EmulationSetUserAgentOverrideResult = EmptyResult;
136
+ export interface EmulationSetViewportMetaOverride {
137
+ method: "emulation.setViewportMetaOverride";
138
+ params: EmulationSetViewportMetaOverrideParameters;
139
+ }
140
+ export interface EmulationSetViewportMetaOverrideParameters {
141
+ viewportMeta: true | null;
142
+ contexts?: BrowsingContextBrowsingContext[];
143
+ userContexts?: BrowserUserContext[];
144
+ }
145
+ export type EmulationSetViewportMetaOverrideResult = EmptyResult;
121
146
  export interface EmulationSetScriptingEnabled {
122
147
  method: "emulation.setScriptingEnabled";
123
148
  params: EmulationSetScriptingEnabledParameters;
@@ -165,6 +190,7 @@ export declare class Emulation {
165
190
  setForcedColorsModeThemeOverride(params: EmulationSetForcedColorsModeThemeOverrideParameters): Promise<void>;
166
191
  setGeolocationOverride(params: EmulationSetGeolocationOverrideParameters): Promise<void>;
167
192
  setLocaleOverride(params: EmulationSetLocaleOverrideParameters): Promise<void>;
193
+ setMediaFeaturesOverride(params: EmulationSetMediaFeaturesOverrideParameters): Promise<void>;
168
194
  setNetworkConditions(params: EmulationSetNetworkConditionsParameters): Promise<void>;
169
195
  setScreenOrientationOverride(params: EmulationSetScreenOrientationOverrideParameters): Promise<void>;
170
196
  setScreenSettingsOverride(params: EmulationSetScreenSettingsOverrideParameters): Promise<void>;
@@ -173,4 +199,5 @@ export declare class Emulation {
173
199
  setTimezoneOverride(params: EmulationSetTimezoneOverrideParameters): Promise<void>;
174
200
  setTouchOverride(params: EmulationSetTouchOverrideParameters): Promise<void>;
175
201
  setUserAgentOverride(params: EmulationSetUserAgentOverrideParameters): Promise<void>;
202
+ setViewportMetaOverride(params: EmulationSetViewportMetaOverrideParameters): Promise<void>;
176
203
  }
@@ -57,6 +57,15 @@ class Emulation {
57
57
  throw new Error(`${response['error']}: ${response['message']}`);
58
58
  }
59
59
  }
60
+ async setMediaFeaturesOverride(params) {
61
+ const response = await this.bidi.send({
62
+ method: 'emulation.setMediaFeaturesOverride',
63
+ params: params,
64
+ });
65
+ if (response['type'] === 'error') {
66
+ throw new Error(`${response['error']}: ${response['message']}`);
67
+ }
68
+ }
60
69
  async setNetworkConditions(params) {
61
70
  const response = await this.bidi.send({
62
71
  method: 'emulation.setNetworkConditions',
@@ -129,5 +138,14 @@ class Emulation {
129
138
  throw new Error(`${response['error']}: ${response['message']}`);
130
139
  }
131
140
  }
141
+ async setViewportMetaOverride(params) {
142
+ const response = await this.bidi.send({
143
+ method: 'emulation.setViewportMetaOverride',
144
+ params: params,
145
+ });
146
+ if (response['type'] === 'error') {
147
+ throw new Error(`${response['error']}: ${response['message']}`);
148
+ }
149
+ }
132
150
  }
133
151
  exports.Emulation = Emulation;
@@ -1,4 +1,4 @@
1
- import type { EmptyResult } from './common.js';
1
+ import type { EmptyResult, Extensible } from './common.js';
2
2
  export type WebExtensionCommand = WebExtensionInstall | WebExtensionUninstall;
3
3
  export type WebExtensionResult = WebExtensionInstallResult | WebExtensionUninstallResult;
4
4
  export type WebExtensionExtension = string;
@@ -6,9 +6,6 @@ export interface WebExtensionInstall {
6
6
  method: "webExtension.install";
7
7
  params: WebExtensionInstallParameters;
8
8
  }
9
- export interface WebExtensionInstallParameters {
10
- extensionData: WebExtensionExtensionData;
11
- }
12
9
  export type WebExtensionExtensionData = WebExtensionExtensionArchivePath | WebExtensionExtensionBase64Encoded | WebExtensionExtensionPath;
13
10
  export interface WebExtensionExtensionPath {
14
11
  type: "path";
@@ -33,6 +30,10 @@ export interface WebExtensionUninstallParameters {
33
30
  extension: WebExtensionExtension;
34
31
  }
35
32
  export type WebExtensionUninstallResult = EmptyResult;
33
+ export type WebExtensionInstallParameters = WebExtensionInstallParametersExtension & {
34
+ extensionData: WebExtensionExtensionData;
35
+ };
36
+ export type WebExtensionInstallParametersExtension = Extensible;
36
37
  export declare class WebExtension {
37
38
  private readonly bidi;
38
39
  private constructor();
Binary file
Binary file