selenium-webdriver 4.0.3 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7038d1d04e32c0eab2f4081b63161c315afcec139a1d2b45109e41852792f9b5
4
- data.tar.gz: 5208af4b04d474558411a77a25c7150a1274a9123f4ceb3d50a4db7cd5656c2e
3
+ metadata.gz: 40e4bef1fdee7ae817c56466ec231be400d677d56a8c8f46b797c6b3eba28de9
4
+ data.tar.gz: a9c1af31f12db6096f06c2a89e487e40ea2bb53b8f6e46e5f77a3046f149bb34
5
5
  SHA512:
6
- metadata.gz: 1896dab6cb8b33ffe30a042829f118526709c2e45e933ad299e4370ab2a1f97263fda23183fc0e7ccce34ee2b1e131427b98919c573fd1c192d681cfc05fc740
7
- data.tar.gz: 95da54a1ad17e54cdb08689c9fc148993b8e405a86319f8ed8ca4b49e00935de5182ea28e67a4987c7eb7671ffc9d4467062bf51fe0ae2c1fd798c317b765f1c
6
+ metadata.gz: b5325d0fe9f5fdb721ed4a6daa1384d7876dc7a072dd52f46c73d76b1614434c123fff2b4a9d7de01538968eddfbad57f2e1a87f4dce0e560a850dcf21988840
7
+ data.tar.gz: 3b345ac66d051c32267d1c4ef9b2dd70aea36e2c4e5bb35ce30197d748effca8fed460824d1961ad5a39340358fc9be3f200708a38557e5e878b09be1b0d61c0
data/CHANGES CHANGED
@@ -1,3 +1,16 @@
1
+ 4.1.0 (2021-11-18)
2
+ =========================
3
+
4
+ DevTools:
5
+ * Released selenium-devtools 0.95.0 (supports CDP v85, v93, v94, v95)
6
+ * Released selenium-devtools 0.96.0 (supports CDP v85, v94, v95, v96)
7
+ * Added support for secure websockets (#10017)
8
+
9
+ Ruby:
10
+ * Execute Script supports ShadowRoots (#10019)
11
+ * Fixed bug preventing zipping temp files on Windows (#9987)
12
+ * Sang Pumpkin Carol (thanks Jari!)
13
+
1
14
  4.0.3 (2021-10-20)
2
15
  =========================
3
16
 
@@ -50,7 +50,7 @@ module Selenium
50
50
  #
51
51
  # @example
52
52
  # options = Selenium::WebDriver::Chrome::Options.new(args: ['start-maximized', 'user-data-dir=/tmp/temp_profile'])
53
- # driver = Selenium::WebDriver.for(:chrome, options: options)
53
+ # driver = Selenium::WebDriver.for(:chrome, capabilities: options)
54
54
  #
55
55
  # @param [Profile] :profile An instance of a Chrome::Profile Class
56
56
  # @param [Array] :encoded_extensions List of extensions that do not need to be Base64 encoded
@@ -72,7 +72,9 @@ module Selenium
72
72
  private
73
73
 
74
74
  def with_tmp_zip(&blk)
75
- Tempfile.create do |zip_path|
75
+ # Don't use Tempfile since it lacks rb_file_s_rename permission on Windows.
76
+ Dir.mktmpdir do |tmp_dir|
77
+ zip_path = File.join(tmp_dir, 'webdriver-zip')
76
78
  Zip::File.open(zip_path, Zip::File::CREATE, &blk)
77
79
  end
78
80
  end
@@ -161,7 +161,18 @@ module Selenium
161
161
  end
162
162
 
163
163
  def socket
164
- @socket ||= TCPSocket.new(ws.host, ws.port)
164
+ @socket ||= begin
165
+ if URI(@url).scheme == 'wss'
166
+ socket = TCPSocket.new(ws.host, ws.port)
167
+ socket = OpenSSL::SSL::SSLSocket.new(socket, OpenSSL::SSL::SSLContext.new)
168
+ socket.sync_close = true
169
+ socket.connect
170
+
171
+ socket
172
+ else
173
+ TCPSocket.new(ws.host, ws.port)
174
+ end
175
+ end
165
176
  end
166
177
 
167
178
  def ws
@@ -44,7 +44,7 @@ module Selenium
44
44
  #
45
45
  # @example
46
46
  # options = Selenium::WebDriver::Firefox::Options.new(args: ['--host=127.0.0.1'])
47
- # driver = Selenium::WebDriver.for :firefox, options: options
47
+ # driver = Selenium::WebDriver.for :firefox, capabilities: options
48
48
  #
49
49
  # @param [Hash] opts the pre-defined options to create the Firefox::Options with
50
50
  # @option opts [String] :binary Path to the Firefox executable to use
@@ -52,12 +52,12 @@ module Selenium
52
52
  #
53
53
  # @example
54
54
  # options = Selenium::WebDriver::IE::Options.new(args: ['--host=127.0.0.1'])
55
- # driver = Selenium::WebDriver.for(:ie, options: options)
55
+ # driver = Selenium::WebDriver.for(:ie, capabilities: options)
56
56
  #
57
57
  # @example
58
58
  # options = Selenium::WebDriver::IE::Options.new
59
59
  # options.element_scroll_behavior = Selenium::WebDriver::IE::Options::SCROLL_BOTTOM
60
- # driver = Selenium::WebDriver.for(:ie, options: options)
60
+ # driver = Selenium::WebDriver.for(:ie, capabilities: options)
61
61
  #
62
62
  # @param [Hash] opts the pre-defined options
63
63
  # @option opts [Array<String>] args
@@ -604,6 +604,9 @@ module Selenium
604
604
  element_id = element_id_from(arg)
605
605
  return Element.new(self, element_id) if element_id
606
606
 
607
+ shadow_root_id = shadow_root_id_from(arg)
608
+ return ShadowRoot.new self, shadow_root_id if shadow_root_id
609
+
607
610
  arg.each { |k, v| arg[k] = unwrap_script_result(v) }
608
611
  else
609
612
  arg
@@ -23,13 +23,14 @@ require 'selenium/webdriver/remote/server_error'
23
23
  module Selenium
24
24
  module WebDriver
25
25
  module Remote
26
- autoload :Bridge, 'selenium/webdriver/remote/bridge'
27
- autoload :Driver, 'selenium/webdriver/remote/driver'
28
- autoload :Response, 'selenium/webdriver/remote/response'
26
+ autoload :Bridge, 'selenium/webdriver/remote/bridge'
27
+ autoload :Driver, 'selenium/webdriver/remote/driver'
28
+ autoload :Response, 'selenium/webdriver/remote/response'
29
29
  autoload :Capabilities, 'selenium/webdriver/remote/capabilities'
30
- autoload :COMMANDS, 'selenium/webdriver/remote/commands'
30
+ autoload :COMMANDS, 'selenium/webdriver/remote/commands'
31
+
31
32
  module Http
32
- autoload :Common, 'selenium/webdriver/remote/http/common'
33
+ autoload :Common, 'selenium/webdriver/remote/http/common'
33
34
  autoload :Default, 'selenium/webdriver/remote/http/default'
34
35
  end
35
36
  end
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- VERSION = '4.0.3'
22
+ VERSION = '4.1.0'
23
23
  end # WebDriver
24
24
  end # Selenium
@@ -75,7 +75,7 @@ module Selenium
75
75
  #
76
76
  # WebDriver.for :firefox, profile: 'some-profile'
77
77
  # WebDriver.for :firefox, profile: Profile.new
78
- # WebDriver.for :remote, url: "http://localhost:4444/wd/hub", desired_capabilities: caps
78
+ # WebDriver.for :remote, url: "http://localhost:4444/wd/hub", capabilities: caps
79
79
  #
80
80
  # One special argument is not passed on to the bridges, :listener.
81
81
  # You can pass a listener for this option to get notified of WebDriver events.
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.0.3
4
+ version: 4.1.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: 2021-10-20 00:00:00.000000000 Z
13
+ date: 2021-11-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: childprocess