selenium-webdriver 4.1.0 → 4.28.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 +446 -1
- data/Gemfile +4 -0
- data/LICENSE +1 -1
- data/NOTICE +1 -1
- data/README.md +3 -3
- data/bin/linux/selenium-manager +0 -0
- data/bin/macos/selenium-manager +0 -0
- data/bin/windows/selenium-manager.exe +0 -0
- data/lib/selenium/server.rb +41 -43
- data/lib/selenium/webdriver/atoms/findElements.js +52 -50
- data/lib/selenium/webdriver/atoms/getAttribute.js +6 -100
- data/lib/selenium/webdriver/atoms/isDisplayed.js +24 -96
- data/lib/selenium/webdriver/atoms/mutationListener.js +0 -0
- data/lib/selenium/webdriver/atoms.rb +5 -3
- data/lib/selenium/webdriver/bidi/browsing_context.rb +100 -0
- data/lib/selenium/webdriver/bidi/log/base_log_entry.rb +35 -0
- data/lib/selenium/webdriver/bidi/log/console_log_entry.rb +35 -0
- data/lib/selenium/webdriver/{common/driver_extensions/has_location.rb → bidi/log/filter_by.rb} +14 -11
- data/lib/selenium/webdriver/bidi/log/generic_log_entry.rb +33 -0
- data/lib/selenium/webdriver/bidi/log/javascript_log_entry.rb +33 -0
- data/lib/selenium/webdriver/bidi/log_handler.rb +65 -0
- data/lib/selenium/webdriver/bidi/log_inspector.rb +147 -0
- data/lib/selenium/webdriver/bidi/network.rb +82 -0
- data/lib/selenium/webdriver/bidi/session.rb +51 -0
- data/lib/selenium/webdriver/bidi/struct.rb +42 -0
- data/lib/selenium/webdriver/bidi.rb +67 -0
- data/lib/selenium/webdriver/chrome/driver.rb +9 -29
- data/lib/selenium/webdriver/chrome/features.rb +9 -67
- data/lib/selenium/webdriver/chrome/options.rb +3 -223
- data/lib/selenium/webdriver/chrome/profile.rb +3 -83
- data/lib/selenium/webdriver/chrome/service.rb +5 -19
- data/lib/selenium/webdriver/chrome.rb +0 -16
- data/lib/selenium/webdriver/chromium/driver.rb +61 -0
- data/lib/selenium/webdriver/chromium/features.rb +99 -0
- data/lib/selenium/webdriver/chromium/options.rb +243 -0
- data/lib/selenium/webdriver/chromium/profile.rb +113 -0
- data/lib/selenium/webdriver/chromium.rb +29 -0
- data/lib/selenium/webdriver/common/action_builder.rb +60 -22
- data/lib/selenium/webdriver/common/child_process.rb +136 -0
- data/lib/selenium/webdriver/common/driver.rb +54 -89
- data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +0 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/{has_remote_status.rb → has_bidi.rb} +10 -5
- data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +10 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +1 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_fedcm_dialog.rb +55 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_file_downloads.rb +65 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +9 -3
- data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +8 -68
- data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +1 -3
- data/lib/selenium/webdriver/common/driver_finder.rb +97 -0
- data/lib/selenium/webdriver/common/element.rb +8 -8
- data/lib/selenium/webdriver/common/error.rb +29 -4
- data/lib/selenium/webdriver/common/fedcm/account.rb +49 -0
- data/lib/selenium/webdriver/common/fedcm/dialog.rb +74 -0
- data/lib/selenium/webdriver/common/fedcm.rb +27 -0
- data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +2 -2
- data/lib/selenium/webdriver/common/interactions/input_device.rb +10 -4
- data/lib/selenium/webdriver/common/interactions/interaction.rb +12 -25
- data/lib/selenium/webdriver/common/interactions/interactions.rb +24 -4
- data/lib/selenium/webdriver/common/interactions/key_actions.rb +5 -1
- data/lib/selenium/webdriver/common/interactions/key_input.rb +11 -27
- data/lib/selenium/webdriver/common/interactions/none_input.rb +10 -8
- data/lib/selenium/webdriver/common/interactions/pause.rb +49 -0
- data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +59 -71
- data/lib/selenium/webdriver/common/{driver_extensions/has_network_connection.rb → interactions/pointer_cancel.rb} +19 -11
- data/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb +63 -0
- data/lib/selenium/webdriver/common/interactions/pointer_input.rb +15 -84
- data/lib/selenium/webdriver/common/interactions/pointer_move.rb +60 -0
- data/lib/selenium/webdriver/common/interactions/pointer_press.rb +85 -0
- data/lib/selenium/webdriver/common/interactions/scroll.rb +59 -0
- data/lib/selenium/webdriver/common/interactions/scroll_origin.rb +48 -0
- data/lib/selenium/webdriver/common/interactions/typing_interaction.rb +54 -0
- data/lib/selenium/webdriver/common/interactions/wheel_actions.rb +114 -0
- data/lib/selenium/webdriver/common/interactions/wheel_input.rb +42 -0
- data/lib/selenium/webdriver/common/keys.rb +1 -0
- data/lib/selenium/webdriver/common/local_driver.rb +53 -0
- data/lib/selenium/webdriver/common/logger.rb +93 -28
- data/lib/selenium/webdriver/common/manager.rb +2 -29
- data/lib/selenium/webdriver/common/network.rb +64 -0
- data/lib/selenium/webdriver/common/options.rb +19 -19
- data/lib/selenium/webdriver/common/platform.rb +12 -52
- data/lib/selenium/webdriver/common/port_prober.rb +1 -1
- data/lib/selenium/webdriver/common/profile_helper.rb +1 -1
- data/lib/selenium/webdriver/common/proxy.rb +4 -4
- data/lib/selenium/webdriver/common/script.rb +45 -0
- data/lib/selenium/webdriver/common/search_context.rb +10 -8
- data/lib/selenium/webdriver/common/selenium_manager.rb +104 -0
- data/lib/selenium/webdriver/common/service.rb +24 -26
- data/lib/selenium/webdriver/common/service_manager.rb +9 -15
- data/lib/selenium/webdriver/common/shadow_root.rb +2 -3
- data/lib/selenium/webdriver/common/socket_lock.rb +3 -3
- data/lib/selenium/webdriver/common/socket_poller.rb +3 -3
- data/lib/selenium/webdriver/common/takes_screenshot.rb +6 -5
- data/lib/selenium/webdriver/common/target_locator.rb +5 -5
- data/lib/selenium/webdriver/common/timeouts.rb +2 -2
- data/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +85 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +72 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +62 -0
- data/lib/selenium/webdriver/common/wait.rb +1 -1
- data/lib/selenium/webdriver/common/websocket_connection.rb +176 -0
- data/lib/selenium/webdriver/common/window.rb +6 -6
- data/lib/selenium/webdriver/common/zipper.rb +1 -1
- data/lib/selenium/webdriver/common.rb +27 -5
- data/lib/selenium/webdriver/devtools/console_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/exception_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/mutation_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/network_interceptor.rb +173 -0
- data/lib/selenium/webdriver/devtools/pinned_script.rb +0 -2
- data/lib/selenium/webdriver/devtools/request.rb +1 -3
- data/lib/selenium/webdriver/devtools/response.rb +1 -3
- data/lib/selenium/webdriver/devtools.rb +17 -114
- data/lib/selenium/webdriver/edge/driver.rb +9 -3
- data/lib/selenium/webdriver/edge/features.rb +8 -4
- data/lib/selenium/webdriver/edge/options.rb +17 -5
- data/lib/selenium/webdriver/edge/profile.rb +2 -2
- data/lib/selenium/webdriver/edge/service.rb +8 -7
- data/lib/selenium/webdriver/edge.rb +0 -2
- data/lib/selenium/webdriver/firefox/driver.rb +9 -2
- data/lib/selenium/webdriver/firefox/features.rb +11 -7
- data/lib/selenium/webdriver/firefox/options.rb +10 -16
- data/lib/selenium/webdriver/firefox/profile.rb +21 -17
- data/lib/selenium/webdriver/firefox/profiles_ini.rb +1 -1
- data/lib/selenium/webdriver/firefox/service.rb +1 -18
- data/lib/selenium/webdriver/firefox/util.rb +46 -0
- data/lib/selenium/webdriver/firefox.rb +1 -14
- data/lib/selenium/webdriver/ie/driver.rb +7 -1
- data/lib/selenium/webdriver/ie/features.rb +34 -0
- data/lib/selenium/webdriver/ie/options.rb +6 -4
- data/lib/selenium/webdriver/ie/service.rb +1 -22
- data/lib/selenium/webdriver/ie.rb +4 -17
- data/lib/selenium/webdriver/remote/bidi_bridge.rb +66 -0
- data/lib/selenium/webdriver/remote/{commands.rb → bridge/commands.rb} +22 -9
- data/lib/selenium/webdriver/remote/bridge/locator_converter.rb +76 -0
- data/lib/selenium/webdriver/remote/bridge.rb +158 -100
- data/lib/selenium/webdriver/remote/capabilities.rb +5 -55
- data/lib/selenium/webdriver/remote/driver.rb +35 -14
- data/lib/selenium/webdriver/remote/features.rb +75 -0
- data/lib/selenium/webdriver/remote/http/common.rb +26 -6
- data/lib/selenium/webdriver/remote/http/curb.rb +10 -6
- data/lib/selenium/webdriver/remote/http/default.rb +8 -14
- data/lib/selenium/webdriver/remote/response.rb +14 -22
- data/lib/selenium/webdriver/remote/server_error.rb +2 -2
- data/lib/selenium/webdriver/remote.rb +3 -2
- data/lib/selenium/webdriver/safari/driver.rb +7 -1
- data/lib/selenium/webdriver/safari/features.rb +5 -3
- data/lib/selenium/webdriver/safari/options.rb +5 -1
- data/lib/selenium/webdriver/safari/service.rb +10 -4
- data/lib/selenium/webdriver/safari.rb +1 -15
- data/lib/selenium/webdriver/support/color.rb +22 -22
- data/lib/selenium/webdriver/support/event_firing_bridge.rb +4 -4
- data/lib/selenium/webdriver/support/guards/guard.rb +14 -14
- data/lib/selenium/webdriver/support/guards/guard_condition.rb +1 -3
- data/lib/selenium/webdriver/support/guards.rb +4 -4
- data/lib/selenium/webdriver/support/relative_locator.rb +0 -1
- data/lib/selenium/webdriver/support/select.rb +3 -1
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +7 -5
- data/selenium-webdriver.gemspec +22 -16
- metadata +137 -47
- data/lib/selenium/webdriver/remote/http/persistent.rb +0 -65
- data/lib/selenium/webdriver/support/cdp/domain.rb.erb +0 -63
- data/lib/selenium/webdriver/support/cdp_client_generator.rb +0 -108
metadata
CHANGED
@@ -1,37 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Rodionov
|
8
8
|
- Titus Fortner
|
9
9
|
- Thomas Walpole
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2025-01-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: base64
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0.5'
|
22
|
-
- - "<"
|
19
|
+
- - "~>"
|
23
20
|
- !ruby/object:Gem::Version
|
24
|
-
version: '
|
21
|
+
version: '0.2'
|
25
22
|
type: :runtime
|
26
23
|
prerelease: false
|
27
24
|
version_requirements: !ruby/object:Gem::Requirement
|
28
25
|
requirements:
|
29
|
-
- - "
|
26
|
+
- - "~>"
|
30
27
|
- !ruby/object:Gem::Version
|
31
|
-
version: '0.
|
32
|
-
|
28
|
+
version: '0.2'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: logger
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '1.4'
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
33
41
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
42
|
+
version: '1.4'
|
35
43
|
- !ruby/object:Gem::Dependency
|
36
44
|
name: rexml
|
37
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +67,9 @@ dependencies:
|
|
59
67
|
- - ">="
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: 1.2.2
|
70
|
+
- - "<"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '3.0'
|
62
73
|
type: :runtime
|
63
74
|
prerelease: false
|
64
75
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -66,34 +77,37 @@ dependencies:
|
|
66
77
|
- - ">="
|
67
78
|
- !ruby/object:Gem::Version
|
68
79
|
version: 1.2.2
|
80
|
+
- - "<"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: websocket
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- - "
|
87
|
+
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :
|
89
|
+
version: '1.0'
|
90
|
+
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- - "
|
94
|
+
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
96
|
+
version: '1.0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: git
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
103
|
+
version: '1.19'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
110
|
+
version: '1.19'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rack
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,16 +126,16 @@ dependencies:
|
|
112
126
|
name: rake
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- - "
|
129
|
+
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
131
|
+
version: '13.0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- - "
|
136
|
+
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
138
|
+
version: '13.0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: rspec
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,42 +156,62 @@ dependencies:
|
|
142
156
|
requirements:
|
143
157
|
- - "~>"
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
159
|
+
version: '1.60'
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 1.60.2
|
146
163
|
type: :development
|
147
164
|
prerelease: false
|
148
165
|
version_requirements: !ruby/object:Gem::Requirement
|
149
166
|
requirements:
|
150
167
|
- - "~>"
|
151
168
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
169
|
+
version: '1.60'
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 1.60.2
|
153
173
|
- !ruby/object:Gem::Dependency
|
154
174
|
name: rubocop-performance
|
155
175
|
requirement: !ruby/object:Gem::Requirement
|
156
176
|
requirements:
|
157
|
-
- - "
|
177
|
+
- - "~>"
|
158
178
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
179
|
+
version: '1.15'
|
160
180
|
type: :development
|
161
181
|
prerelease: false
|
162
182
|
version_requirements: !ruby/object:Gem::Requirement
|
163
183
|
requirements:
|
164
|
-
- - "
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '1.15'
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: rubocop-rake
|
189
|
+
requirement: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - "~>"
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 0.6.0
|
194
|
+
type: :development
|
195
|
+
prerelease: false
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - "~>"
|
165
199
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
200
|
+
version: 0.6.0
|
167
201
|
- !ruby/object:Gem::Dependency
|
168
202
|
name: rubocop-rspec
|
169
203
|
requirement: !ruby/object:Gem::Requirement
|
170
204
|
requirements:
|
171
|
-
- - "
|
205
|
+
- - "~>"
|
172
206
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
207
|
+
version: '2.16'
|
174
208
|
type: :development
|
175
209
|
prerelease: false
|
176
210
|
version_requirements: !ruby/object:Gem::Requirement
|
177
211
|
requirements:
|
178
|
-
- - "
|
212
|
+
- - "~>"
|
179
213
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
214
|
+
version: '2.16'
|
181
215
|
- !ruby/object:Gem::Dependency
|
182
216
|
name: webmock
|
183
217
|
requirement: !ruby/object:Gem::Requirement
|
@@ -213,6 +247,9 @@ dependencies:
|
|
213
247
|
- - "~>"
|
214
248
|
- !ruby/object:Gem::Version
|
215
249
|
version: 0.9.11
|
250
|
+
- - ">="
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
version: 0.9.36
|
216
253
|
type: :development
|
217
254
|
prerelease: false
|
218
255
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -220,6 +257,9 @@ dependencies:
|
|
220
257
|
- - "~>"
|
221
258
|
- !ruby/object:Gem::Version
|
222
259
|
version: 0.9.11
|
260
|
+
- - ">="
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: 0.9.36
|
223
263
|
description: |2
|
224
264
|
Selenium implements the W3C WebDriver protocol to automate popular browsers.
|
225
265
|
It aims to mimic the behaviour of a real user as it interacts with the application's HTML.
|
@@ -237,6 +277,9 @@ files:
|
|
237
277
|
- LICENSE
|
238
278
|
- NOTICE
|
239
279
|
- README.md
|
280
|
+
- bin/linux/selenium-manager
|
281
|
+
- bin/macos/selenium-manager
|
282
|
+
- bin/windows/selenium-manager.exe
|
240
283
|
- lib/selenium-webdriver.rb
|
241
284
|
- lib/selenium/server.rb
|
242
285
|
- lib/selenium/webdriver.rb
|
@@ -245,42 +288,64 @@ files:
|
|
245
288
|
- lib/selenium/webdriver/atoms/getAttribute.js
|
246
289
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
247
290
|
- lib/selenium/webdriver/atoms/mutationListener.js
|
291
|
+
- lib/selenium/webdriver/bidi.rb
|
292
|
+
- lib/selenium/webdriver/bidi/browsing_context.rb
|
293
|
+
- lib/selenium/webdriver/bidi/log/base_log_entry.rb
|
294
|
+
- lib/selenium/webdriver/bidi/log/console_log_entry.rb
|
295
|
+
- lib/selenium/webdriver/bidi/log/filter_by.rb
|
296
|
+
- lib/selenium/webdriver/bidi/log/generic_log_entry.rb
|
297
|
+
- lib/selenium/webdriver/bidi/log/javascript_log_entry.rb
|
298
|
+
- lib/selenium/webdriver/bidi/log_handler.rb
|
299
|
+
- lib/selenium/webdriver/bidi/log_inspector.rb
|
300
|
+
- lib/selenium/webdriver/bidi/network.rb
|
301
|
+
- lib/selenium/webdriver/bidi/session.rb
|
302
|
+
- lib/selenium/webdriver/bidi/struct.rb
|
248
303
|
- lib/selenium/webdriver/chrome.rb
|
249
304
|
- lib/selenium/webdriver/chrome/driver.rb
|
250
305
|
- lib/selenium/webdriver/chrome/features.rb
|
251
306
|
- lib/selenium/webdriver/chrome/options.rb
|
252
307
|
- lib/selenium/webdriver/chrome/profile.rb
|
253
308
|
- lib/selenium/webdriver/chrome/service.rb
|
309
|
+
- lib/selenium/webdriver/chromium.rb
|
310
|
+
- lib/selenium/webdriver/chromium/driver.rb
|
311
|
+
- lib/selenium/webdriver/chromium/features.rb
|
312
|
+
- lib/selenium/webdriver/chromium/options.rb
|
313
|
+
- lib/selenium/webdriver/chromium/profile.rb
|
254
314
|
- lib/selenium/webdriver/common.rb
|
255
315
|
- lib/selenium/webdriver/common/action_builder.rb
|
256
316
|
- lib/selenium/webdriver/common/alert.rb
|
317
|
+
- lib/selenium/webdriver/common/child_process.rb
|
257
318
|
- lib/selenium/webdriver/common/driver.rb
|
258
319
|
- lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
|
259
320
|
- lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
|
260
321
|
- lib/selenium/webdriver/common/driver_extensions/has_addons.rb
|
261
322
|
- lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb
|
262
323
|
- lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
|
324
|
+
- lib/selenium/webdriver/common/driver_extensions/has_bidi.rb
|
263
325
|
- lib/selenium/webdriver/common/driver_extensions/has_casting.rb
|
264
326
|
- lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
|
265
327
|
- lib/selenium/webdriver/common/driver_extensions/has_context.rb
|
266
328
|
- lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
|
267
329
|
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
330
|
+
- lib/selenium/webdriver/common/driver_extensions/has_fedcm_dialog.rb
|
331
|
+
- lib/selenium/webdriver/common/driver_extensions/has_file_downloads.rb
|
268
332
|
- lib/selenium/webdriver/common/driver_extensions/has_launching.rb
|
269
|
-
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
270
333
|
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
271
334
|
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
272
335
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
273
|
-
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
274
336
|
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
275
337
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
276
338
|
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
277
|
-
- lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
|
278
339
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
279
340
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
280
341
|
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
281
342
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
343
|
+
- lib/selenium/webdriver/common/driver_finder.rb
|
282
344
|
- lib/selenium/webdriver/common/element.rb
|
283
345
|
- lib/selenium/webdriver/common/error.rb
|
346
|
+
- lib/selenium/webdriver/common/fedcm.rb
|
347
|
+
- lib/selenium/webdriver/common/fedcm/account.rb
|
348
|
+
- lib/selenium/webdriver/common/fedcm/dialog.rb
|
284
349
|
- lib/selenium/webdriver/common/file_reaper.rb
|
285
350
|
- lib/selenium/webdriver/common/html5/local_storage.rb
|
286
351
|
- lib/selenium/webdriver/common/html5/session_storage.rb
|
@@ -291,20 +356,34 @@ files:
|
|
291
356
|
- lib/selenium/webdriver/common/interactions/key_actions.rb
|
292
357
|
- lib/selenium/webdriver/common/interactions/key_input.rb
|
293
358
|
- lib/selenium/webdriver/common/interactions/none_input.rb
|
359
|
+
- lib/selenium/webdriver/common/interactions/pause.rb
|
294
360
|
- lib/selenium/webdriver/common/interactions/pointer_actions.rb
|
361
|
+
- lib/selenium/webdriver/common/interactions/pointer_cancel.rb
|
362
|
+
- lib/selenium/webdriver/common/interactions/pointer_event_properties.rb
|
295
363
|
- lib/selenium/webdriver/common/interactions/pointer_input.rb
|
364
|
+
- lib/selenium/webdriver/common/interactions/pointer_move.rb
|
365
|
+
- lib/selenium/webdriver/common/interactions/pointer_press.rb
|
366
|
+
- lib/selenium/webdriver/common/interactions/scroll.rb
|
367
|
+
- lib/selenium/webdriver/common/interactions/scroll_origin.rb
|
368
|
+
- lib/selenium/webdriver/common/interactions/typing_interaction.rb
|
369
|
+
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
370
|
+
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
296
371
|
- lib/selenium/webdriver/common/keys.rb
|
372
|
+
- lib/selenium/webdriver/common/local_driver.rb
|
297
373
|
- lib/selenium/webdriver/common/log_entry.rb
|
298
374
|
- lib/selenium/webdriver/common/logger.rb
|
299
375
|
- lib/selenium/webdriver/common/logs.rb
|
300
376
|
- lib/selenium/webdriver/common/manager.rb
|
301
377
|
- lib/selenium/webdriver/common/navigation.rb
|
378
|
+
- lib/selenium/webdriver/common/network.rb
|
302
379
|
- lib/selenium/webdriver/common/options.rb
|
303
380
|
- lib/selenium/webdriver/common/platform.rb
|
304
381
|
- lib/selenium/webdriver/common/port_prober.rb
|
305
382
|
- lib/selenium/webdriver/common/profile_helper.rb
|
306
383
|
- lib/selenium/webdriver/common/proxy.rb
|
384
|
+
- lib/selenium/webdriver/common/script.rb
|
307
385
|
- lib/selenium/webdriver/common/search_context.rb
|
386
|
+
- lib/selenium/webdriver/common/selenium_manager.rb
|
308
387
|
- lib/selenium/webdriver/common/service.rb
|
309
388
|
- lib/selenium/webdriver/common/service_manager.rb
|
310
389
|
- lib/selenium/webdriver/common/shadow_root.rb
|
@@ -313,13 +392,18 @@ files:
|
|
313
392
|
- lib/selenium/webdriver/common/takes_screenshot.rb
|
314
393
|
- lib/selenium/webdriver/common/target_locator.rb
|
315
394
|
- lib/selenium/webdriver/common/timeouts.rb
|
395
|
+
- lib/selenium/webdriver/common/virtual_authenticator/credential.rb
|
396
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb
|
397
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb
|
316
398
|
- lib/selenium/webdriver/common/wait.rb
|
399
|
+
- lib/selenium/webdriver/common/websocket_connection.rb
|
317
400
|
- lib/selenium/webdriver/common/window.rb
|
318
401
|
- lib/selenium/webdriver/common/zipper.rb
|
319
402
|
- lib/selenium/webdriver/devtools.rb
|
320
403
|
- lib/selenium/webdriver/devtools/console_event.rb
|
321
404
|
- lib/selenium/webdriver/devtools/exception_event.rb
|
322
405
|
- lib/selenium/webdriver/devtools/mutation_event.rb
|
406
|
+
- lib/selenium/webdriver/devtools/network_interceptor.rb
|
323
407
|
- lib/selenium/webdriver/devtools/pinned_script.rb
|
324
408
|
- lib/selenium/webdriver/devtools/request.rb
|
325
409
|
- lib/selenium/webdriver/devtools/response.rb
|
@@ -337,19 +421,23 @@ files:
|
|
337
421
|
- lib/selenium/webdriver/firefox/profile.rb
|
338
422
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
339
423
|
- lib/selenium/webdriver/firefox/service.rb
|
424
|
+
- lib/selenium/webdriver/firefox/util.rb
|
340
425
|
- lib/selenium/webdriver/ie.rb
|
341
426
|
- lib/selenium/webdriver/ie/driver.rb
|
427
|
+
- lib/selenium/webdriver/ie/features.rb
|
342
428
|
- lib/selenium/webdriver/ie/options.rb
|
343
429
|
- lib/selenium/webdriver/ie/service.rb
|
344
430
|
- lib/selenium/webdriver/remote.rb
|
431
|
+
- lib/selenium/webdriver/remote/bidi_bridge.rb
|
345
432
|
- lib/selenium/webdriver/remote/bridge.rb
|
433
|
+
- lib/selenium/webdriver/remote/bridge/commands.rb
|
434
|
+
- lib/selenium/webdriver/remote/bridge/locator_converter.rb
|
346
435
|
- lib/selenium/webdriver/remote/capabilities.rb
|
347
|
-
- lib/selenium/webdriver/remote/commands.rb
|
348
436
|
- lib/selenium/webdriver/remote/driver.rb
|
437
|
+
- lib/selenium/webdriver/remote/features.rb
|
349
438
|
- lib/selenium/webdriver/remote/http/common.rb
|
350
439
|
- lib/selenium/webdriver/remote/http/curb.rb
|
351
440
|
- lib/selenium/webdriver/remote/http/default.rb
|
352
|
-
- lib/selenium/webdriver/remote/http/persistent.rb
|
353
441
|
- lib/selenium/webdriver/remote/response.rb
|
354
442
|
- lib/selenium/webdriver/remote/server_error.rb
|
355
443
|
- lib/selenium/webdriver/safari.rb
|
@@ -360,8 +448,6 @@ files:
|
|
360
448
|
- lib/selenium/webdriver/support.rb
|
361
449
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
362
450
|
- lib/selenium/webdriver/support/block_event_listener.rb
|
363
|
-
- lib/selenium/webdriver/support/cdp/domain.rb.erb
|
364
|
-
- lib/selenium/webdriver/support/cdp_client_generator.rb
|
365
451
|
- lib/selenium/webdriver/support/color.rb
|
366
452
|
- lib/selenium/webdriver/support/escaper.rb
|
367
453
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
@@ -377,8 +463,12 @@ licenses:
|
|
377
463
|
- Apache-2.0
|
378
464
|
metadata:
|
379
465
|
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
466
|
+
documentation_uri: https://www.selenium.dev/documentation/?tab=ruby
|
467
|
+
github_repo: ssh://github.com/SeleniumHQ/selenium
|
380
468
|
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
381
|
-
|
469
|
+
rubygems_mfa_required: 'true'
|
470
|
+
funding_uri: https://github.com/sponsors/SeleniumHQ
|
471
|
+
post_install_message:
|
382
472
|
rdoc_options: []
|
383
473
|
require_paths:
|
384
474
|
- lib
|
@@ -386,15 +476,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
386
476
|
requirements:
|
387
477
|
- - ">="
|
388
478
|
- !ruby/object:Gem::Version
|
389
|
-
version: '
|
479
|
+
version: '3.1'
|
390
480
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
391
481
|
requirements:
|
392
482
|
- - ">"
|
393
483
|
- !ruby/object:Gem::Version
|
394
484
|
version: 1.3.1
|
395
485
|
requirements: []
|
396
|
-
rubygems_version: 3.
|
397
|
-
signing_key:
|
486
|
+
rubygems_version: 3.3.27
|
487
|
+
signing_key:
|
398
488
|
specification_version: 4
|
399
489
|
summary: Selenium is a browser automation tool for automated testing of webapps and
|
400
490
|
more
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Licensed to the Software Freedom Conservancy (SFC) under one
|
4
|
-
# or more contributor license agreements. See the NOTICE file
|
5
|
-
# distributed with this work for additional information
|
6
|
-
# regarding copyright ownership. The SFC licenses this file
|
7
|
-
# to you under the Apache License, Version 2.0 (the
|
8
|
-
# "License"); you may not use this file except in compliance
|
9
|
-
# with the License. You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing,
|
14
|
-
# software distributed under the License is distributed on an
|
15
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
-
# KIND, either express or implied. See the License for the
|
17
|
-
# specific language governing permissions and limitations
|
18
|
-
# under the License.
|
19
|
-
|
20
|
-
require 'net/http/persistent'
|
21
|
-
|
22
|
-
module Selenium
|
23
|
-
module WebDriver
|
24
|
-
module Remote
|
25
|
-
module Http
|
26
|
-
# @api private
|
27
|
-
class Persistent < Default
|
28
|
-
def initialize(open_timeout: nil, read_timeout: nil)
|
29
|
-
WebDriver.logger.deprecate("Selenium::WebDriver::Remote::Http::Persistent",
|
30
|
-
id: :http_persistent) { "The default HTTP client now uses persistence." }
|
31
|
-
super
|
32
|
-
end
|
33
|
-
|
34
|
-
def close
|
35
|
-
@http&.shutdown
|
36
|
-
end
|
37
|
-
|
38
|
-
private
|
39
|
-
|
40
|
-
def start(*)
|
41
|
-
# no need to explicitly start connection
|
42
|
-
end
|
43
|
-
|
44
|
-
def new_http_client
|
45
|
-
proxy = nil
|
46
|
-
|
47
|
-
if @proxy
|
48
|
-
unless @proxy.respond_to?(:http)
|
49
|
-
url = @proxy.http
|
50
|
-
raise Error::WebDriverError, "expected HTTP proxy, got #{@proxy.inspect}" unless url
|
51
|
-
end
|
52
|
-
proxy = URI.parse(url)
|
53
|
-
end
|
54
|
-
|
55
|
-
Net::HTTP::Persistent.new name: 'webdriver', proxy: proxy
|
56
|
-
end
|
57
|
-
|
58
|
-
def response_for(request)
|
59
|
-
http.request server_url, request
|
60
|
-
end
|
61
|
-
end # Persistent
|
62
|
-
end # Http
|
63
|
-
end # Remote
|
64
|
-
end # WebDriver
|
65
|
-
end # Selenium
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Licensed to the Software Freedom Conservancy (SFC) under one
|
4
|
-
# or more contributor license agreements. See the NOTICE file
|
5
|
-
# distributed with this work for additional information
|
6
|
-
# regarding copyright ownership. The SFC licenses this file
|
7
|
-
# to you under the Apache License, Version 2.0 (the
|
8
|
-
# "License"); you may not use this file except in compliance
|
9
|
-
# with the License. You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing,
|
14
|
-
# software distributed under the License is distributed on an
|
15
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
-
# KIND, either express or implied. See the License for the
|
17
|
-
# specific language governing permissions and limitations
|
18
|
-
# under the License.
|
19
|
-
|
20
|
-
# This file is automatically generated. Any changes will be lost!
|
21
|
-
module Selenium
|
22
|
-
module DevTools
|
23
|
-
module <%= version %>
|
24
|
-
class <%= domain[:domain] %>
|
25
|
-
<% if domain[:events] %>
|
26
|
-
EVENTS = {
|
27
|
-
<% domain[:events].each do |event| %>
|
28
|
-
<%= h.snake_case(event[:name]) %>: '<%= event[:name] %>',
|
29
|
-
<% end %>
|
30
|
-
}.freeze
|
31
|
-
<% end %>
|
32
|
-
|
33
|
-
def initialize(devtools)
|
34
|
-
@devtools = devtools
|
35
|
-
end
|
36
|
-
|
37
|
-
def on(event, &block)
|
38
|
-
event = EVENTS[event] if event.is_a?(Symbol)
|
39
|
-
@devtools.callbacks["<%= domain[:domain] %>.#{event}"] << block
|
40
|
-
end
|
41
|
-
|
42
|
-
<% domain[:commands].each do |command| %>
|
43
|
-
<% if command[:parameters] %>
|
44
|
-
def <%= h.snake_case(command[:name]) %>(<%= h.kwargs(command[:parameters]) %>)
|
45
|
-
<% else %>
|
46
|
-
def <%= h.snake_case(command[:name]) %>
|
47
|
-
<% end %>
|
48
|
-
<% if command[:parameters] %>
|
49
|
-
@devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>',
|
50
|
-
<% until command[:parameters].empty? %>
|
51
|
-
<% parameter = command[:parameters].shift %>
|
52
|
-
<%= parameter[:name] %>: <%= h.snake_case(parameter[:name]) %><%= command[:parameters].empty? ? ')' : ',' %>
|
53
|
-
<% end %>
|
54
|
-
<% else %>
|
55
|
-
@devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>')
|
56
|
-
<% end %>
|
57
|
-
end
|
58
|
-
|
59
|
-
<% end %>
|
60
|
-
end # <%= domain[:domain] %>
|
61
|
-
end # <%= version %>
|
62
|
-
end # DevTools
|
63
|
-
end # Selenium
|
@@ -1,108 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Licensed to the Software Freedom Conservancy (SFC) under one
|
4
|
-
# or more contributor license agreements. See the NOTICE file
|
5
|
-
# distributed with this work for additional information
|
6
|
-
# regarding copyright ownership. The SFC licenses this file
|
7
|
-
# to you under the Apache License, Version 2.0 (the
|
8
|
-
# "License"); you may not use this file except in compliance
|
9
|
-
# with the License. You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing,
|
14
|
-
# software distributed under the License is distributed on an
|
15
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
16
|
-
# KIND, either express or implied. See the License for the
|
17
|
-
# specific language governing permissions and limitations
|
18
|
-
# under the License.
|
19
|
-
|
20
|
-
require 'erb'
|
21
|
-
require 'fileutils'
|
22
|
-
require 'json'
|
23
|
-
|
24
|
-
module Selenium
|
25
|
-
module WebDriver
|
26
|
-
module Support
|
27
|
-
class CDPClientGenerator
|
28
|
-
# Input JSON files are generated from PDL tasks.
|
29
|
-
TEMPLATE_PATH = File.expand_path('cdp/domain.rb.erb', __dir__)
|
30
|
-
|
31
|
-
RESERVED_KEYWORDS = %w[end].freeze
|
32
|
-
|
33
|
-
def call(output_dir:, version:, browser_protocol_path: nil, js_protocol_path: nil, loader_path: nil, **)
|
34
|
-
@template = ERB.new(File.read(TEMPLATE_PATH))
|
35
|
-
@output_dir = output_dir
|
36
|
-
@loader_path = loader_path || "#{@output_dir}.rb"
|
37
|
-
@version = version
|
38
|
-
|
39
|
-
browser_protocol_path ||= File.expand_path('cdp/browser_protocol.json', __dir__)
|
40
|
-
js_protocol_path ||= File.expand_path('cdp/js_protocol.json', __dir__)
|
41
|
-
|
42
|
-
browser_protocol = JSON.parse(File.read(browser_protocol_path), symbolize_names: true)
|
43
|
-
js_protocol = JSON.parse(File.read(js_protocol_path), symbolize_names: true)
|
44
|
-
|
45
|
-
FileUtils.mkdir_p(@output_dir)
|
46
|
-
|
47
|
-
browser_protocol[:domains].each(&method(:process_domain))
|
48
|
-
js_protocol[:domains].each(&method(:process_domain))
|
49
|
-
require_file
|
50
|
-
end
|
51
|
-
|
52
|
-
def process_domain(domain)
|
53
|
-
result = @template.result_with_hash(domain: domain, version: @version.upcase, h: self)
|
54
|
-
filename = File.join(@output_dir, "#{snake_case(domain[:domain])}.rb")
|
55
|
-
File.write(filename, remove_empty_lines(result))
|
56
|
-
end
|
57
|
-
|
58
|
-
def snake_case(string)
|
59
|
-
name = string.gsub('JavaScript', 'Javascript')
|
60
|
-
.gsub(/([A-Z]+)([A-Z][a-z]{2,})/, '\1_\2')
|
61
|
-
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
62
|
-
.downcase
|
63
|
-
# Certain CDP parameters conflict with Ruby keywords
|
64
|
-
# so we prefix the name with underscore.
|
65
|
-
name = "_#{name}" if RESERVED_KEYWORDS.include?(name)
|
66
|
-
|
67
|
-
name
|
68
|
-
end
|
69
|
-
|
70
|
-
def kwargs(parameters)
|
71
|
-
parameters = parameters.map do |parameter|
|
72
|
-
if parameter[:optional]
|
73
|
-
"#{snake_case(parameter[:name])}: nil"
|
74
|
-
else
|
75
|
-
"#{snake_case(parameter[:name])}:"
|
76
|
-
end
|
77
|
-
end
|
78
|
-
parameters.join(', ')
|
79
|
-
end
|
80
|
-
|
81
|
-
def remove_empty_lines(string)
|
82
|
-
string.split("\n").reject { |l| l =~ /^\s+$/ }.join("\n")
|
83
|
-
end
|
84
|
-
|
85
|
-
def require_file
|
86
|
-
# rubocop:disable Lint/InterpolationCheck
|
87
|
-
dynamic_location = '#{File.dirname(File.absolute_path(__FILE__))}'
|
88
|
-
# rubocop:enable Lint/InterpolationCheck
|
89
|
-
|
90
|
-
require_all = "Dir.glob(\"#{dynamic_location}/#{@version}/*\", &method(:require))"
|
91
|
-
File.open(@loader_path, 'w') { |file| file.write(require_all) }
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
|
-
if $PROGRAM_NAME == __FILE__
|
99
|
-
browser_protocol_path, js_protocol_path, output_dir, loader_path, version = *ARGV
|
100
|
-
|
101
|
-
Selenium::WebDriver::Support::CDPClientGenerator.new.call(
|
102
|
-
browser_protocol_path: browser_protocol_path,
|
103
|
-
js_protocol_path: js_protocol_path,
|
104
|
-
output_dir: output_dir,
|
105
|
-
loader_path: loader_path,
|
106
|
-
version: version
|
107
|
-
)
|
108
|
-
end
|