selenium-webdriver 4.0.3 → 4.1.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 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