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.
Binary file
package/firefox.js CHANGED
@@ -317,6 +317,7 @@ class Options extends Capabilities {
317
317
  *
318
318
  * @param {...string} paths The paths to the extension XPI files to install.
319
319
  * @return {!Options} A self reference.
320
+ * @deprecated Use {@link Driver#installAddon} instead.
320
321
  */
321
322
  addExtensions(...paths) {
322
323
  this.profile_().addExtensions(paths)
package/index.js CHANGED
@@ -478,6 +478,14 @@ class Builder {
478
478
  return this.firefoxOptions_
479
479
  }
480
480
 
481
+ /**
482
+ * @return {firefox.ServiceBuilder} the Firefox service currently configured
483
+ * for this instance.
484
+ */
485
+ getFirefoxService() {
486
+ return this.firefoxService_
487
+ }
488
+
481
489
  /**
482
490
  * Sets the {@link firefox.ServiceBuilder} to use to manage the geckodriver
483
491
  * child process when creating Firefox sessions locally.
@@ -650,6 +658,11 @@ class Builder {
650
658
 
651
659
  if (url) {
652
660
  this.log_.fine('Creating session on remote server')
661
+
662
+ if (typeof url === 'string') {
663
+ capabilities.set('se:remoteUrl', url)
664
+ }
665
+
653
666
  let client = Promise.resolve(url).then((url) => new _http.HttpClient(url, this.agent_, this.proxy_))
654
667
  let executor = new _http.Executor(client)
655
668
 
@@ -1,4 +1,22 @@
1
- // GENERATED CODE - DO NOT EDIT
1
+ // Licensed to the Software Freedom Conservancy (SFC) under one
2
+ // or more contributor license agreements. See the NOTICE file
3
+ // distributed with this work for additional information
4
+ // regarding copyright ownership. The SFC licenses this file
5
+ // to you under the Apache License, Version 2.0 (the
6
+ // "License"); you may not use this file except in compliance
7
+ // with the License. You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the License is distributed on an
13
+ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ // KIND, either express or implied. See the License for the
15
+ // specific language governing permissions and limitations
16
+ // under the License.
17
+
18
+ // DO NOT EDIT! This file is generated by javascript/selenium-webdriver/lib/atoms/make-atoms-module.js.
19
+ // Regenerate with: `bazel build //javascript/selenium-webdriver/lib/atoms:all`
2
20
  module.exports = (function findElements(target, root) {
3
21
  const INVALID_SELECTOR = 'invalid selector';
4
22
  const INVALID_ARGUMENT = 'invalid argument';
@@ -1,4 +1,22 @@
1
- // GENERATED CODE - DO NOT EDIT
1
+ // Licensed to the Software Freedom Conservancy (SFC) under one
2
+ // or more contributor license agreements. See the NOTICE file
3
+ // distributed with this work for additional information
4
+ // regarding copyright ownership. The SFC licenses this file
5
+ // to you under the Apache License, Version 2.0 (the
6
+ // "License"); you may not use this file except in compliance
7
+ // with the License. You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the License is distributed on an
13
+ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ // KIND, either express or implied. See the License for the
15
+ // specific language governing permissions and limitations
16
+ // under the License.
17
+
18
+ // DO NOT EDIT! This file is generated by javascript/selenium-webdriver/lib/atoms/make-atoms-module.js.
19
+ // Regenerate with: `bazel build //javascript/selenium-webdriver/lib/atoms:all`
2
20
  module.exports = (function (element, attribute) {
3
21
  const PROPERTY_ALIASES = {
4
22
  'class': 'className',
@@ -1,4 +1,22 @@
1
- // GENERATED CODE - DO NOT EDIT
1
+ // Licensed to the Software Freedom Conservancy (SFC) under one
2
+ // or more contributor license agreements. See the NOTICE file
3
+ // distributed with this work for additional information
4
+ // regarding copyright ownership. The SFC licenses this file
5
+ // to you under the Apache License, Version 2.0 (the
6
+ // "License"); you may not use this file except in compliance
7
+ // with the License. You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing,
12
+ // software distributed under the License is distributed on an
13
+ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ // KIND, either express or implied. See the License for the
15
+ // specific language governing permissions and limitations
16
+ // under the License.
17
+
18
+ // DO NOT EDIT! This file is generated by javascript/selenium-webdriver/lib/atoms/make-atoms-module.js.
19
+ // Regenerate with: `bazel build //javascript/selenium-webdriver/lib/atoms:all`
2
20
  module.exports = (function isShownElement(elem, optIgnoreOpacity) {
3
21
  var tagNameDescriptor = Object.getOwnPropertyDescriptor(Element.prototype, 'tagName');
4
22
  var computedStyleCache = new Map();
package/lib/proxy.js CHANGED
@@ -77,13 +77,6 @@ PacConfig.prototype.proxyAutoconfigUrl
77
77
  */
78
78
  function ManualConfig() {}
79
79
 
80
- /**
81
- * The proxy host for FTP requests.
82
- *
83
- * @type {(string|undefined)}
84
- */
85
- ManualConfig.prototype.ftpProxy
86
-
87
80
  /**
88
81
  * The proxy host for HTTP requests.
89
82
  *
@@ -138,30 +131,24 @@ function direct() {
138
131
  * Manually configures the browser proxy. The following options are
139
132
  * supported:
140
133
  *
141
- * - `ftp`: Proxy host to use for FTP requests
142
134
  * - `http`: Proxy host to use for HTTP requests
143
135
  * - `https`: Proxy host to use for HTTPS requests
144
136
  * - `bypass`: A list of hosts requests should directly connect to,
145
137
  * bypassing any other proxies for that request. May be specified as a
146
138
  * comma separated string, or a list of strings.
147
139
  *
148
- * Behavior is undefined for FTP, HTTP, and HTTPS requests if the
140
+ * Behavior is undefined for HTTP and HTTPS requests if the
149
141
  * corresponding key is omitted from the configuration options.
150
142
  *
151
- * @param {{ftp: (string|undefined),
152
- * http: (string|undefined),
143
+ * @param {{http: (string|undefined),
153
144
  * https: (string|undefined),
154
145
  * bypass: (Array<string>|undefined)}} options Proxy
155
146
  * configuration options.
156
147
  * @return {!ManualConfig} A new proxy configuration object.
157
148
  */
158
- function manual({ ftp, http, https, bypass }) {
159
- if (ftp !== undefined) {
160
- console.warn('ftpProxy is deprecated and will be removed in the future')
161
- }
149
+ function manual({ http, https, bypass }) {
162
150
  return {
163
151
  proxyType: Type.MANUAL,
164
- ftpProxy: ftp,
165
152
  httpProxy: http,
166
153
  sslProxy: https,
167
154
  noProxy: bypass,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "selenium-webdriver",
3
- "version": "4.46.0",
3
+ "version": "4.47.0",
4
4
  "description": "The official WebDriver JavaScript bindings from the Selenium project",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -20,35 +20,35 @@
20
20
  "url": "https://github.com/SeleniumHQ/selenium.git"
21
21
  },
22
22
  "engines": {
23
- "node": ">= 20.0.0"
23
+ "node": ">= 22.0.0"
24
24
  },
25
25
  "dependencies": {
26
26
  "@bazel/runfiles": "^6.5.0",
27
27
  "jszip": "^3.10.1",
28
28
  "tmp": "^0.2.7",
29
- "ws": "^8.21.0"
29
+ "ws": "^8.21.3"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@eslint/js": "^10.0.1",
33
- "cddl": "^0.21.0",
34
- "cddl2ts": "^0.10.0",
33
+ "cddl": "^0.21.1",
34
+ "cddl2ts": "^0.10.1",
35
35
  "clean-jsdoc-theme": "^4.3.3",
36
- "eslint": "^10.7.0",
36
+ "eslint": "^10.8.1",
37
37
  "eslint-config-prettier": "^10.1.8",
38
38
  "eslint-plugin-mocha": "^11.3.0",
39
- "eslint-plugin-n": "^18.2.1",
39
+ "eslint-plugin-n": "^18.3.0",
40
40
  "eslint-plugin-no-only-tests": "^3.4.0",
41
41
  "eslint-plugin-prettier": "^5.5.6",
42
42
  "express": "^5.2.1",
43
- "globals": "^17.7.0",
43
+ "globals": "^17.9.0",
44
44
  "has-flag": "^5.0.1",
45
45
  "jsdoc": "^4.0.5",
46
- "mocha": "^11.7.6",
46
+ "mocha": "^11.8.0",
47
47
  "mocha-junit-reporter": "^2.2.1",
48
48
  "multer": "^2.2.0",
49
- "prettier": "^3.9.5",
49
+ "prettier": "^3.9.6",
50
50
  "serve-index": "^1.9.2",
51
- "sinon": "^22.0.0",
51
+ "sinon": "^22.1.0",
52
52
  "supports-color": "^10.2.2"
53
53
  },
54
54
  "scripts": {