selenium-webdriver 4.11.0 → 4.12.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 +19 -0
- package/bin/linux/selenium-manager +0 -0
- package/bin/macos/selenium-manager +0 -0
- package/bin/windows/selenium-manager.exe +0 -0
- package/common/seleniumManager.js +7 -1
- package/lib/atoms/find-elements.js +1 -1
- package/lib/atoms/get-attribute.js +1 -1
- package/lib/atoms/is-displayed.js +1 -1
- package/package.json +4 -4
- package/testing/index.js +12 -7
package/CHANGES.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## 4.12.0
|
|
2
|
+
|
|
3
|
+
#### :bug: Bug fix
|
|
4
|
+
|
|
5
|
+
* Adding browsers when they are present on the host (#12456)
|
|
6
|
+
* Create absolute path for browser binary (#12479)
|
|
7
|
+
* Fix how browsers and drivers are discovered (#12456)
|
|
8
|
+
|
|
9
|
+
#### :nail_care: Polish
|
|
10
|
+
|
|
11
|
+
* Add support for Chrome 116 and remove support for Chrome 113
|
|
12
|
+
* Remove browserVersion from options in Selenium Manager (#12641)
|
|
13
|
+
|
|
14
|
+
## 4.11.1
|
|
15
|
+
|
|
16
|
+
#### :bug: Bug fix
|
|
17
|
+
|
|
18
|
+
* Update testing/index.js code snippet to fix function call (#12456)
|
|
19
|
+
|
|
1
20
|
## v4.11.0
|
|
2
21
|
|
|
3
22
|
#### :nail_care: Polish
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -25,6 +25,7 @@ const { platform } = require('process')
|
|
|
25
25
|
const path = require('path')
|
|
26
26
|
const fs = require('fs')
|
|
27
27
|
const spawnSync = require('child_process').spawnSync
|
|
28
|
+
const { Capability } = require('../lib/capabilities')
|
|
28
29
|
|
|
29
30
|
let debugMessagePrinted = false;
|
|
30
31
|
|
|
@@ -78,7 +79,7 @@ function driverLocation(options) {
|
|
|
78
79
|
options.get('ms:edgeOptions') ||
|
|
79
80
|
options.get('moz:firefoxOptions')
|
|
80
81
|
if (vendorOptions && vendorOptions.binary && vendorOptions.binary !== '') {
|
|
81
|
-
args.push('--browser-path',
|
|
82
|
+
args.push('--browser-path', path.resolve(vendorOptions.binary))
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
const proxyOptions = options.getProxy();
|
|
@@ -126,6 +127,11 @@ function driverLocation(options) {
|
|
|
126
127
|
)
|
|
127
128
|
}
|
|
128
129
|
|
|
130
|
+
// Once driverPath is available, delete browserVersion from payload
|
|
131
|
+
if (output.result.driver_path) {
|
|
132
|
+
options.delete(Capability.BROWSER_VERSION)
|
|
133
|
+
}
|
|
134
|
+
|
|
129
135
|
logOutput(output)
|
|
130
136
|
return {
|
|
131
137
|
driverPath: output.result.driver_path,
|
|
@@ -119,4 +119,4 @@ d=W(d);e=new U(e.a-c,e.b-c,e.width+2*c,e.height+2*c);return e.a<=d.a+d.width&&d.
|
|
|
119
119
|
}};Z.P={left:Z.V,right:Z.aa,above:Z.R,below:Z.S,near:Z.W};Z.O={left:Z.u,right:Z.u,above:Z.u,below:Z.u,near:Z.u};Z.U=function(a,b){var c=[];l(a,function(e){e&&ta(b,function(f){var g=f.kind,h=Z.P[g];if(!h)throw new P(61,"Cannot find filter suitable for "+g);return h.apply(null,f.args)(e)},null)&&c.push(e)},null);a=b[b.length-1];var d=Z.O[a?a.kind:"unknown"];return d?(a=d.apply(null,a.args))?Z.ba(a,c):c:c};
|
|
120
120
|
Z.ba=function(a,b){function c(f){f=W(f);return Math.sqrt(Math.pow(d-(f.a+Math.max(1,f.width)/2),2)+Math.pow(e-(f.b+Math.max(1,f.height)/2),2))}a=W(a);var d=a.a+Math.max(1,a.width)/2,e=a.b+Math.max(1,a.height)/2;xa(b,function(f,g){return c(f)-c(g)});return b};Z.o=function(a,b){a=Z.j(a,b);return 0==a.length?null:a[0]};
|
|
121
121
|
Z.j=function(a,b){if(!a.hasOwnProperty("root")||!a.hasOwnProperty("filters"))throw new P(61,"Locator not suitable for relative locators: "+JSON.stringify(a));var c=a.filters,d=da(c);if("array"!=d&&("object"!=d||"number"!=typeof c.length))throw new P(61,"Targets should be an array: "+JSON.stringify(a));var e;S(a.root)?e=[a.root]:e=ud(a.root,b);return 0==e.length?[]:Z.U(e,a.filters)};var vd={o:function(a,b){if(""===a)throw new P(32,'Unable to locate an element with the tagName ""');return b.getElementsByTagName(a)[0]||null},j:function(a,b){if(""===a)throw new P(32,'Unable to locate an element with the tagName ""');return b.getElementsByTagName(a)}};var td={className:Dc,"class name":Dc,css:Nc,"css selector":Nc,relative:Z,id:qd,linkText:Y,"link text":Y,name:{o:function(a,b){b=mb(eb(b),"*",null,b);return ua(b,function(c){return Uc(c,"name")==a})},j:function(a,b){b=mb(eb(b),"*",null,b);return pa(b,function(c){return Uc(c,"name")==a})}},partialLinkText:rd,"partial link text":rd,tagName:vd,"tag name":vd,xpath:T};function sd(a){for(var b in a)if(a.hasOwnProperty(b))return b;return null}
|
|
122
|
-
function ud(a,b){var c=sd(a);if(c){var d=td[c];if(d&&ea(d.j))return d.j(a[c],b||Bc.document)}throw new P(61,"Unsupported locator strategy: "+c);};ca("_",ud);; return this._.apply(null,arguments);}).apply(
|
|
122
|
+
function ud(a,b){var c=sd(a);if(c){var d=td[c];if(d&&ea(d.j))return d.j(a[c],b||Bc.document)}throw new P(61,"Unsupported locator strategy: "+c);};ca("_",ud);; return this._.apply(null,arguments);}).apply(window, arguments);};
|
|
@@ -98,4 +98,4 @@ Uc.prototype.set=function(a,b){Object.prototype.hasOwnProperty.call(this.b,a)||(
|
|
|
98
98
|
Z(69,"e","E");Z(70,"f","F");Z(71,"g","G");Z(72,"h","H");Z(73,"i","I");Z(74,"j","J");Z(75,"k","K");Z(76,"l","L");Z(77,"m","M");Z(78,"n","N");Z(79,"o","O");Z(80,"p","P");Z(81,"q","Q");Z(82,"r","R");Z(83,"s","S");Z(84,"t","T");Z(85,"u","U");Z(86,"v","V");Z(87,"w","W");Z(88,"x","X");Z(89,"y","Y");Z(90,"z","Z");var ad=Z(Ia?{g:91,h:91}:Ha?{g:224,h:91}:{g:0,h:91});Z(Ia?{g:92,h:92}:Ha?{g:224,h:93}:{g:0,h:92});Z(Ia?{g:93,h:93}:Ha?{g:0,h:0}:{g:93,h:null});Z({g:96,h:96},"0");Z({g:97,h:97},"1");
|
|
99
99
|
Z({g:98,h:98},"2");Z({g:99,h:99},"3");Z({g:100,h:100},"4");Z({g:101,h:101},"5");Z({g:102,h:102},"6");Z({g:103,h:103},"7");Z({g:104,h:104},"8");Z({g:105,h:105},"9");Z({g:106,h:106},"*");Z({g:107,h:107},"+");Z({g:109,h:109},"-");Z({g:110,h:110},".");Z({g:111,h:111},"/");Z(144);Z(112);Z(113);Z(114);Z(115);Z(116);Z(117);Z(118);Z(119);Z(120);Z(121);Z(122);Z(123);Z({g:107,h:187},"=","+");Z(108,",");Z({g:109,h:189},"-","_");Z(188,",","<");Z(190,".",">");Z(191,"/","?");Z(192,"`","~");Z(219,"[","{");
|
|
100
100
|
Z(220,"\\","|");Z(221,"]","}");Z({g:59,h:186},";",":");Z(222,"'",'"');var bd=new Uc;bd.set(1,Yc);bd.set(2,Zc);bd.set(4,$c);bd.set(8,ad);(function(a){var b=new Uc;n(Vc(a),function(c){b.set(a.get(c).code,c)});return b})(bd);var cd={"class":"className",readonly:"readOnly"},dd="allowfullscreen allowpaymentrequest allowusermedia async autofocus autoplay checked compact complete controls declare default defaultchecked defaultselected defer disabled ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref nomodule noresize noshade novalidate nowrap open paused playsinline pubdate readonly required reversed scoped seamless seeking selected truespeed typemustmatch willvalidate".split(" ");ba("_",function(a,b){var c=null,d=b.toLowerCase();if("style"==d)return(c=a.style)&&!aa(c)&&(c=c.cssText),c;if(("selected"==d||"checked"==d)&&Jc(a)){if(!Jc(a))throw new U(15,"Element is not selectable");b="selected";c=a.type&&a.type.toLowerCase();if("checkbox"==c||"radio"==c)b="checked";return Ic(a,b)?"true":null}var e=Gc(a,"A");if(Gc(a,"IMG")&&"src"==d||e&&"href"==d)return(c=Ec(a,d))&&(c=Ic(a,d)),c;if("spellcheck"==d){c=Ec(a,d);if(null!==c){if("false"==c.toLowerCase())return"false";if("true"==c.toLowerCase())return"true"}return Ic(a,
|
|
101
|
-
d)+""}e=cd[b]||b;if(0<=ma(dd,d))return(c=null!==Ec(a,b)||Ic(a,e))?"true":null;try{var f=Ic(a,e)}catch(g){}null==f||da(f)?c=Ec(a,b):c=f;return null!=c?c.toString():null});; return this._.apply(null,arguments);}).apply(
|
|
101
|
+
d)+""}e=cd[b]||b;if(0<=ma(dd,d))return(c=null!==Ec(a,b)||Ic(a,e))?"true":null;try{var f=Ic(a,e)}catch(g){}null==f||da(f)?c=Ec(a,b):c=f;return null!=c?c.toString():null});; return this._.apply(null,arguments);}).apply(window, arguments);};
|
|
@@ -98,4 +98,4 @@ r.y){var D=Jc(a);if(0==D.width||0==D.height)return Z;var L=e.a<D.a,M=e.b<D.b;if(
|
|
|
98
98
|
function Jc(a){var b=Lc(a);if(b)return b.rect;if(W(a,"HTML"))return a=A(a),a=((a?a.parentWindow||a.defaultView:window)||window).document,a="CSS1Compat"==a.compatMode?a.documentElement:a.body,a=new Va(a.clientWidth,a.clientHeight),new X(0,0,a.width,a.height);try{var c=a.getBoundingClientRect()}catch(d){return new X(0,0,0,0)}b=new X(c.left,c.top,c.right-c.left,c.bottom-c.top);v&&a.ownerDocument.body&&(a=A(a),b.a-=a.documentElement.clientLeft+a.body.clientLeft,b.b-=a.documentElement.clientTop+a.body.clientTop);
|
|
99
99
|
return b}function Lc(a){var b=W(a,"MAP");if(!b&&!W(a,"AREA"))return null;var c=b?a:W(a.parentNode,"MAP")?a.parentNode:null,d=null,e=null;c&&c.name&&(d=Dc('/descendant::*[@usemap = "#'+c.name+'"]',A(c)))&&(e=Jc(d),b||"default"==a.shape.toLowerCase()||(a=Oc(a),b=Math.min(Math.max(a.a,0),e.width),c=Math.min(Math.max(a.b,0),e.height),e=new X(b+e.a,c+e.b,Math.min(a.width,e.width-b),Math.min(a.height,e.height-c))));return{image:d,rect:e||new X(0,0,0,0)}}
|
|
100
100
|
function Oc(a){var b=a.shape.toLowerCase();a=a.coords.split(",");if("rect"==b&&4==a.length){b=a[0];var c=a[1];return new X(b,c,a[2]-b,a[3]-c)}if("circle"==b&&3==a.length)return b=a[2],new X(a[0]-b,a[1]-b,2*b,2*b);if("poly"==b&&2<a.length){b=a[0];c=a[1];for(var d=b,e=c,f=2;f+1<a.length;f+=2)b=Math.min(b,a[f]),d=Math.max(d,a[f]),c=Math.min(c,a[f+1]),e=Math.max(e,a[f+1]);return new X(b,c,d-b,e-c)}return new X(0,0,0,0)}function Nc(a){a=Jc(a);return new Ec(a.b,a.a+a.width,a.b+a.height,a.a)}
|
|
101
|
-
function Mc(a){if(Ac){if("relative"==Y(a,"position"))return 1;a=Y(a,"filter");return(a=a.match(/^alpha\(opacity=(\d*)\)/)||a.match(/^progid:DXImageTransform.Microsoft.Alpha\(Opacity=(\d*)\)/))?Number(a[1])/100:1}return Pc(a)}function Pc(a){var b=1,c=Y(a,"opacity");c&&(b=Number(c));(a=Gc(a))&&(b*=Pc(a));return b};ba("_",function(a,b){function c(d){if(W(d)&&"none"==Y(d,"display"))return!1;var e;if((e=d.parentNode)&&e.shadowRoot&&void 0!==d.assignedSlot)e=d.assignedSlot?d.assignedSlot.parentNode:null;else if(d.getDestinationInsertionPoints){var f=d.getDestinationInsertionPoints();0<f.length&&(e=f[f.length-1])}if(Fc&&e instanceof ShadowRoot){if(e.host.shadowRoot!==e)return!1;e=e.host}return!e||9!=e.nodeType&&11!=e.nodeType?e&&W(e,"DETAILS")&&!e.open&&!W(d,"SUMMARY")?!1:!!e&&c(e):!0}return Ic(a,!!b,c)});; return this._.apply(null,arguments);}).apply(
|
|
101
|
+
function Mc(a){if(Ac){if("relative"==Y(a,"position"))return 1;a=Y(a,"filter");return(a=a.match(/^alpha\(opacity=(\d*)\)/)||a.match(/^progid:DXImageTransform.Microsoft.Alpha\(Opacity=(\d*)\)/))?Number(a[1])/100:1}return Pc(a)}function Pc(a){var b=1,c=Y(a,"opacity");c&&(b=Number(c));(a=Gc(a))&&(b*=Pc(a));return b};ba("_",function(a,b){function c(d){if(W(d)&&"none"==Y(d,"display"))return!1;var e;if((e=d.parentNode)&&e.shadowRoot&&void 0!==d.assignedSlot)e=d.assignedSlot?d.assignedSlot.parentNode:null;else if(d.getDestinationInsertionPoints){var f=d.getDestinationInsertionPoints();0<f.length&&(e=f[f.length-1])}if(Fc&&e instanceof ShadowRoot){if(e.host.shadowRoot!==e)return!1;e=e.host}return!e||9!=e.nodeType&&11!=e.nodeType?e&&W(e,"DETAILS")&&!e.open&&!W(d,"SUMMARY")?!1:!!e&&c(e):!0}return Ic(a,!!b,c)});; return this._.apply(null,arguments);}).apply(window, arguments);};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "selenium-webdriver",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.12.0",
|
|
4
4
|
"description": "The official WebDriver JavaScript bindings from the Selenium project",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"ws": ">=8.13.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"eslint": "^8.
|
|
32
|
-
"eslint-config-prettier": "^
|
|
31
|
+
"eslint": "^8.46.0",
|
|
32
|
+
"eslint-config-prettier": "^9.0.0",
|
|
33
33
|
"eslint-plugin-no-only-tests": "^3.1.0",
|
|
34
34
|
"eslint-plugin-node": "^11.1.0",
|
|
35
35
|
"eslint-plugin-prettier": "^5.0.0",
|
|
36
36
|
"express": "^4.18.2",
|
|
37
37
|
"mocha": "^10.2.0",
|
|
38
38
|
"multer": "^1.4.5-lts.1",
|
|
39
|
-
"prettier": "^3.0.
|
|
39
|
+
"prettier": "^3.0.1",
|
|
40
40
|
"serve-index": "^1.9.1",
|
|
41
41
|
"sinon": "^15.2.0"
|
|
42
42
|
},
|
package/testing/index.js
CHANGED
|
@@ -118,19 +118,24 @@ function getAvailableBrowsers() {
|
|
|
118
118
|
info(`Searching for WebDriver executables installed on the current system...`)
|
|
119
119
|
|
|
120
120
|
let targets = [
|
|
121
|
-
[getPath(chrome.Options)
|
|
122
|
-
[getPath(edge.Options)
|
|
123
|
-
[getPath(firefox.Options)
|
|
124
|
-
[getPath(ie.Options).driverPath, Browser.INTERNET_EXPLORER],
|
|
125
|
-
[getPath(safari.Options).driverPath, Browser.SAFARI],
|
|
121
|
+
[getPath(new chrome.Options()), Browser.CHROME],
|
|
122
|
+
[getPath(new edge.Options()), Browser.EDGE],
|
|
123
|
+
[getPath(new firefox.Options()), Browser.FIREFOX],
|
|
126
124
|
]
|
|
125
|
+
if (process.platform === 'win32') {
|
|
126
|
+
targets.push([getPath(new ie.Options()), Browser.INTERNET_EXPLORER])
|
|
127
|
+
}
|
|
128
|
+
if (process.platform === 'darwin') {
|
|
129
|
+
targets.push([getPath(new safari.Options()), Browser.SAFARI])
|
|
130
|
+
}
|
|
127
131
|
|
|
128
132
|
let availableBrowsers = []
|
|
129
133
|
for (let pair of targets) {
|
|
130
|
-
const driverPath = pair[0]
|
|
134
|
+
const driverPath = pair[0].driverPath
|
|
135
|
+
const browserPath = pair[0].browserPath
|
|
131
136
|
const name = pair[1]
|
|
132
137
|
const capabilities = pair[2]
|
|
133
|
-
if (driverPath.length > 0) {
|
|
138
|
+
if (driverPath.length > 0 && browserPath && browserPath.length > 0) {
|
|
134
139
|
info(`... located ${name}`)
|
|
135
140
|
availableBrowsers.push({ name, capabilities })
|
|
136
141
|
}
|