selenium-webdriver 4.8.5 → 4.9.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.
- checksums.yaml +4 -4
- data/CHANGES +14 -1
- data/lib/selenium/webdriver/common/selenium_manager.rb +5 -5
- data/lib/selenium/webdriver/devtools/network_interceptor.rb +1 -1
- data/lib/selenium/webdriver/devtools.rb +11 -1
- data/lib/selenium/webdriver/remote/driver.rb +4 -2
- data/lib/selenium/webdriver/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1ae360596be57c29db02808a7dae16c36062801e7639e83b366a54cdba5e3b2
|
4
|
+
data.tar.gz: f31169f7cfec055abb7a2f3595eee8e453acf316651a829af5f254a0f824cf9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 675dad14a433939c81dabbb0276b1c5a97d95f0b1451ca48aa0e908c2cc0658f1d90e3970be4e3f62e65ff5eaef5cf391b5d646f50413ca46ea2f24de821fb5a
|
7
|
+
data.tar.gz: dd9d26b855e7b1f01f667d113181f6e7b35367ee74459b693a3c5872cc92a9e58f9d2d849de3aaff9738e3e77cb3f3117617219b4f76e2fda2f66bc75279ee8d
|
data/CHANGES
CHANGED
@@ -1,9 +1,22 @@
|
|
1
|
+
4.9.0 (2023-04-21)
|
2
|
+
=========================
|
3
|
+
Ruby:
|
4
|
+
* Fix devtools version fallback (#11869)
|
5
|
+
* Fix bug in selenium manager escaping back slashes in Windows (#11884)
|
6
|
+
|
7
|
+
BiDi:
|
8
|
+
* Released selenium-devtools 0.112.0 (supports CDP v85, v110, v111, v112)
|
9
|
+
|
10
|
+
4.8.6 (2023-03-29)
|
11
|
+
=========================
|
12
|
+
Ruby:
|
13
|
+
* Properly escape arguments passed to Selenium Manager
|
14
|
+
|
1
15
|
4.8.5 (2023-03-28)
|
2
16
|
=========================
|
3
17
|
Ruby:
|
4
18
|
* Wrapping browser name in quotes when calling Selenium Manager
|
5
19
|
|
6
|
-
|
7
20
|
4.8.4 (2023-03-28)
|
8
21
|
=========================
|
9
22
|
Ruby:
|
@@ -40,18 +40,18 @@ module Selenium
|
|
40
40
|
raise ArgumentError, "SeleniumManager requires a WebDriver::Options instance, not #{options.inspect}"
|
41
41
|
end
|
42
42
|
|
43
|
-
command = [binary, '--browser',
|
43
|
+
command = [binary, '--browser', options.browser_name, '--output', 'json']
|
44
44
|
if options.browser_version
|
45
45
|
command << '--browser-version'
|
46
46
|
command << options.browser_version
|
47
47
|
end
|
48
48
|
if options.respond_to?(:binary) && !options.binary.nil?
|
49
49
|
command << '--browser-path'
|
50
|
-
command <<
|
50
|
+
command << options.binary.gsub('\\', '\\\\\\')
|
51
51
|
end
|
52
52
|
command << '--debug' if WebDriver.logger.debug?
|
53
53
|
|
54
|
-
location = run(command
|
54
|
+
location = run(*command)
|
55
55
|
WebDriver.logger.debug("Driver found at #{location}")
|
56
56
|
Platform.assert_executable location
|
57
57
|
|
@@ -81,11 +81,11 @@ module Selenium
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
def run(command)
|
84
|
+
def run(*command)
|
85
85
|
WebDriver.logger.debug("Executing Process #{command}")
|
86
86
|
|
87
87
|
begin
|
88
|
-
stdout, stderr, status = Open3.capture3(command)
|
88
|
+
stdout, stderr, status = Open3.capture3(*command)
|
89
89
|
json_output = stdout.empty? ? nil : JSON.parse(stdout)
|
90
90
|
result = json_output&.dig('result', 'message')
|
91
91
|
rescue StandardError => e
|
@@ -134,7 +134,7 @@ module Selenium
|
|
134
134
|
request_id: request.id,
|
135
135
|
url: request.url,
|
136
136
|
method: request.method,
|
137
|
-
post_data: request.post_data,
|
137
|
+
post_data: (Base64.strict_encode64(request.post_data) if request.post_data),
|
138
138
|
headers: request.headers.map do |k, v|
|
139
139
|
{name: k, value: v}
|
140
140
|
end
|
@@ -52,7 +52,17 @@ module Selenium
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def method_missing(method, *_args)
|
55
|
-
|
55
|
+
namespace = "Selenium::DevTools::V#{Selenium::DevTools.version}"
|
56
|
+
methods_to_classes = "#{namespace}::METHODS_TO_CLASSES"
|
57
|
+
|
58
|
+
desired_class = if Object.const_defined?(methods_to_classes)
|
59
|
+
# selenium-devtools 0.113 and newer
|
60
|
+
"#{namespace}::#{Object.const_get(methods_to_classes)[method]}"
|
61
|
+
else
|
62
|
+
# selenium-devtools 0.112 and older
|
63
|
+
"#{namespace}::#{method.capitalize}}"
|
64
|
+
end
|
65
|
+
|
56
66
|
return unless Object.const_defined?(desired_class)
|
57
67
|
|
58
68
|
self.class.class_eval do
|
@@ -45,8 +45,10 @@ module Selenium
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def devtools_version
|
48
|
-
capabilities['se:cdpVersion']&.split('.')&.first
|
49
|
-
|
48
|
+
cdp_version = capabilities['se:cdpVersion']&.split('.')&.first
|
49
|
+
raise Error::WebDriverError, 'DevTools is not supported by the Remote Server' unless cdp_version
|
50
|
+
|
51
|
+
Integer(cdp_version)
|
50
52
|
end
|
51
53
|
|
52
54
|
def process_options(options, capabilities)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Rodionov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-
|
13
|
+
date: 2023-04-21 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rexml
|