selenium-webdriver 4.0.0.alpha6 → 4.0.0.alpha7

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.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +41 -4
  3. data/lib/selenium/server.rb +22 -6
  4. data/lib/selenium/webdriver.rb +1 -1
  5. data/lib/selenium/webdriver/atoms/findElements.js +89 -90
  6. data/lib/selenium/webdriver/atoms/getAttribute.js +79 -59
  7. data/lib/selenium/webdriver/atoms/isDisplayed.js +72 -72
  8. data/lib/selenium/webdriver/atoms/mutationListener.js +38 -0
  9. data/lib/selenium/webdriver/chrome/driver.rb +8 -1
  10. data/lib/selenium/webdriver/chrome/options.rb +1 -1
  11. data/lib/selenium/webdriver/chrome/profile.rb +1 -1
  12. data/lib/selenium/webdriver/common.rb +3 -1
  13. data/lib/selenium/webdriver/common/driver.rb +5 -0
  14. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
  15. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +2 -1
  16. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +143 -0
  17. data/lib/selenium/webdriver/common/element.rb +5 -0
  18. data/lib/selenium/webdriver/common/options.rb +3 -3
  19. data/lib/selenium/webdriver/common/platform.rb +1 -1
  20. data/lib/selenium/webdriver/common/takes_screenshot.rb +63 -0
  21. data/lib/selenium/webdriver/devtools.rb +18 -4
  22. data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
  23. data/lib/selenium/webdriver/devtools/exception_event.rb +36 -0
  24. data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
  25. data/lib/selenium/webdriver/devtools/v84/accessibility.rb +64 -0
  26. data/lib/selenium/webdriver/devtools/v84/animation.rb +100 -0
  27. data/lib/selenium/webdriver/devtools/v84/application_cache.rb +66 -0
  28. data/lib/selenium/webdriver/devtools/{audits.rb → v84/audits.rb} +33 -31
  29. data/lib/selenium/webdriver/devtools/v84/background_service.rb +69 -0
  30. data/lib/selenium/webdriver/devtools/v84/browser.rb +125 -0
  31. data/lib/selenium/webdriver/devtools/v84/cache_storage.rb +75 -0
  32. data/lib/selenium/webdriver/devtools/v84/cast.rb +72 -0
  33. data/lib/selenium/webdriver/devtools/v84/console.rb +59 -0
  34. data/lib/selenium/webdriver/devtools/v84/css.rb +167 -0
  35. data/lib/selenium/webdriver/devtools/v84/database.rb +66 -0
  36. data/lib/selenium/webdriver/devtools/v84/debugger.rb +231 -0
  37. data/lib/selenium/webdriver/devtools/{device_orientation.rb → v84/device_orientation.rb} +20 -18
  38. data/lib/selenium/webdriver/devtools/v84/dom.rb +322 -0
  39. data/lib/selenium/webdriver/devtools/v84/dom_debugger.rb +95 -0
  40. data/lib/selenium/webdriver/devtools/v84/dom_snapshot.rb +67 -0
  41. data/lib/selenium/webdriver/devtools/v84/dom_storage.rb +81 -0
  42. data/lib/selenium/webdriver/devtools/v84/emulation.rb +182 -0
  43. data/lib/selenium/webdriver/devtools/v84/fetch.rb +99 -0
  44. data/lib/selenium/webdriver/devtools/v84/headless_experimental.rb +63 -0
  45. data/lib/selenium/webdriver/devtools/v84/heap_profiler.rb +109 -0
  46. data/lib/selenium/webdriver/devtools/v84/indexed_db.rb +102 -0
  47. data/lib/selenium/webdriver/devtools/v84/input.rb +142 -0
  48. data/lib/selenium/webdriver/devtools/{inspector.rb → v84/inspector.rb} +22 -20
  49. data/lib/selenium/webdriver/devtools/{io.rb → v84/io.rb} +25 -23
  50. data/lib/selenium/webdriver/devtools/v84/layer_tree.rb +97 -0
  51. data/lib/selenium/webdriver/devtools/{database.rb → v84/log.rb} +33 -29
  52. data/lib/selenium/webdriver/devtools/{media.rb → v84/media.rb} +29 -27
  53. data/lib/selenium/webdriver/devtools/v84/memory.rb +88 -0
  54. data/lib/selenium/webdriver/devtools/v84/network.rb +230 -0
  55. data/lib/selenium/webdriver/devtools/v84/overlay.rb +159 -0
  56. data/lib/selenium/webdriver/devtools/v84/page.rb +376 -0
  57. data/lib/selenium/webdriver/devtools/{performance.rb → v84/performance.rb} +28 -26
  58. data/lib/selenium/webdriver/devtools/v84/profiler.rb +113 -0
  59. data/lib/selenium/webdriver/devtools/v84/runtime.rb +195 -0
  60. data/lib/selenium/webdriver/devtools/{schema.rb → v84/schema.rb} +14 -12
  61. data/lib/selenium/webdriver/devtools/v84/security.rb +73 -0
  62. data/lib/selenium/webdriver/devtools/v84/service_worker.rb +118 -0
  63. data/lib/selenium/webdriver/devtools/v84/storage.rb +97 -0
  64. data/lib/selenium/webdriver/devtools/{system_info.rb → v84/system_info.rb} +17 -15
  65. data/lib/selenium/webdriver/devtools/v84/target.rb +143 -0
  66. data/lib/selenium/webdriver/devtools/v84/tethering.rb +57 -0
  67. data/lib/selenium/webdriver/devtools/v84/tracing.rb +78 -0
  68. data/lib/selenium/webdriver/devtools/v84/web_audio.rb +72 -0
  69. data/lib/selenium/webdriver/devtools/v84/web_authn.rb +96 -0
  70. data/lib/selenium/webdriver/devtools/v85/accessibility.rb +64 -0
  71. data/lib/selenium/webdriver/devtools/v85/animation.rb +100 -0
  72. data/lib/selenium/webdriver/devtools/v85/application_cache.rb +66 -0
  73. data/lib/selenium/webdriver/devtools/v85/audits.rb +63 -0
  74. data/lib/selenium/webdriver/devtools/v85/background_service.rb +69 -0
  75. data/lib/selenium/webdriver/devtools/v85/browser.rb +125 -0
  76. data/lib/selenium/webdriver/devtools/v85/cache_storage.rb +75 -0
  77. data/lib/selenium/webdriver/devtools/v85/cast.rb +72 -0
  78. data/lib/selenium/webdriver/devtools/v85/console.rb +59 -0
  79. data/lib/selenium/webdriver/devtools/v85/css.rb +167 -0
  80. data/lib/selenium/webdriver/devtools/v85/database.rb +66 -0
  81. data/lib/selenium/webdriver/devtools/v85/debugger.rb +231 -0
  82. data/lib/selenium/webdriver/devtools/v85/device_orientation.rb +55 -0
  83. data/lib/selenium/webdriver/devtools/v85/dom.rb +322 -0
  84. data/lib/selenium/webdriver/devtools/v85/dom_debugger.rb +95 -0
  85. data/lib/selenium/webdriver/devtools/v85/dom_snapshot.rb +67 -0
  86. data/lib/selenium/webdriver/devtools/v85/dom_storage.rb +81 -0
  87. data/lib/selenium/webdriver/devtools/v85/emulation.rb +182 -0
  88. data/lib/selenium/webdriver/devtools/v85/fetch.rb +99 -0
  89. data/lib/selenium/webdriver/devtools/v85/headless_experimental.rb +63 -0
  90. data/lib/selenium/webdriver/devtools/v85/heap_profiler.rb +109 -0
  91. data/lib/selenium/webdriver/devtools/v85/indexed_db.rb +102 -0
  92. data/lib/selenium/webdriver/devtools/v85/input.rb +143 -0
  93. data/lib/selenium/webdriver/devtools/v85/inspector.rb +57 -0
  94. data/lib/selenium/webdriver/devtools/{log.rb → v85/io.rb} +33 -38
  95. data/lib/selenium/webdriver/devtools/v85/layer_tree.rb +97 -0
  96. data/lib/selenium/webdriver/devtools/v85/log.rb +68 -0
  97. data/lib/selenium/webdriver/devtools/v85/media.rb +59 -0
  98. data/lib/selenium/webdriver/devtools/v85/memory.rb +88 -0
  99. data/lib/selenium/webdriver/devtools/v85/network.rb +230 -0
  100. data/lib/selenium/webdriver/devtools/v85/overlay.rb +160 -0
  101. data/lib/selenium/webdriver/devtools/v85/page.rb +376 -0
  102. data/lib/selenium/webdriver/devtools/v85/performance.rb +65 -0
  103. data/lib/selenium/webdriver/devtools/v85/profiler.rb +113 -0
  104. data/lib/selenium/webdriver/devtools/v85/runtime.rb +196 -0
  105. data/lib/selenium/webdriver/devtools/v85/schema.rb +48 -0
  106. data/lib/selenium/webdriver/devtools/v85/security.rb +73 -0
  107. data/lib/selenium/webdriver/devtools/v85/service_worker.rb +118 -0
  108. data/lib/selenium/webdriver/devtools/v85/storage.rb +97 -0
  109. data/lib/selenium/webdriver/devtools/{console.rb → v85/system_info.rb} +19 -24
  110. data/lib/selenium/webdriver/devtools/v85/target.rb +145 -0
  111. data/lib/selenium/webdriver/devtools/v85/tethering.rb +57 -0
  112. data/lib/selenium/webdriver/devtools/v85/tracing.rb +78 -0
  113. data/lib/selenium/webdriver/devtools/v85/web_audio.rb +72 -0
  114. data/lib/selenium/webdriver/devtools/v85/web_authn.rb +96 -0
  115. data/lib/selenium/webdriver/devtools/v86/accessibility.rb +64 -0
  116. data/lib/selenium/webdriver/devtools/v86/animation.rb +100 -0
  117. data/lib/selenium/webdriver/devtools/v86/application_cache.rb +66 -0
  118. data/lib/selenium/webdriver/devtools/v86/audits.rb +63 -0
  119. data/lib/selenium/webdriver/devtools/v86/background_service.rb +69 -0
  120. data/lib/selenium/webdriver/devtools/v86/browser.rb +125 -0
  121. data/lib/selenium/webdriver/devtools/v86/cache_storage.rb +75 -0
  122. data/lib/selenium/webdriver/devtools/v86/cast.rb +72 -0
  123. data/lib/selenium/webdriver/devtools/v86/console.rb +59 -0
  124. data/lib/selenium/webdriver/devtools/v86/css.rb +181 -0
  125. data/lib/selenium/webdriver/devtools/v86/database.rb +66 -0
  126. data/lib/selenium/webdriver/devtools/v86/debugger.rb +233 -0
  127. data/lib/selenium/webdriver/devtools/v86/device_orientation.rb +55 -0
  128. data/lib/selenium/webdriver/devtools/v86/dom.rb +329 -0
  129. data/lib/selenium/webdriver/devtools/v86/dom_debugger.rb +95 -0
  130. data/lib/selenium/webdriver/devtools/v86/dom_snapshot.rb +67 -0
  131. data/lib/selenium/webdriver/devtools/v86/dom_storage.rb +81 -0
  132. data/lib/selenium/webdriver/devtools/v86/emulation.rb +193 -0
  133. data/lib/selenium/webdriver/devtools/v86/fetch.rb +99 -0
  134. data/lib/selenium/webdriver/devtools/v86/headless_experimental.rb +63 -0
  135. data/lib/selenium/webdriver/devtools/v86/heap_profiler.rb +109 -0
  136. data/lib/selenium/webdriver/devtools/v86/indexed_db.rb +102 -0
  137. data/lib/selenium/webdriver/devtools/v86/input.rb +143 -0
  138. data/lib/selenium/webdriver/devtools/v86/inspector.rb +57 -0
  139. data/lib/selenium/webdriver/devtools/v86/io.rb +61 -0
  140. data/lib/selenium/webdriver/devtools/v86/layer_tree.rb +97 -0
  141. data/lib/selenium/webdriver/devtools/v86/log.rb +68 -0
  142. data/lib/selenium/webdriver/devtools/v86/media.rb +59 -0
  143. data/lib/selenium/webdriver/devtools/v86/memory.rb +88 -0
  144. data/lib/selenium/webdriver/devtools/v86/network.rb +235 -0
  145. data/lib/selenium/webdriver/devtools/v86/overlay.rb +183 -0
  146. data/lib/selenium/webdriver/devtools/v86/page.rb +376 -0
  147. data/lib/selenium/webdriver/devtools/v86/performance.rb +65 -0
  148. data/lib/selenium/webdriver/devtools/v86/profiler.rb +113 -0
  149. data/lib/selenium/webdriver/devtools/v86/runtime.rb +196 -0
  150. data/lib/selenium/webdriver/devtools/v86/schema.rb +48 -0
  151. data/lib/selenium/webdriver/devtools/v86/security.rb +73 -0
  152. data/lib/selenium/webdriver/devtools/v86/service_worker.rb +118 -0
  153. data/lib/selenium/webdriver/devtools/v86/storage.rb +97 -0
  154. data/lib/selenium/webdriver/devtools/{tethering.rb → v86/system_info.rb} +19 -22
  155. data/lib/selenium/webdriver/devtools/v86/target.rb +145 -0
  156. data/lib/selenium/webdriver/devtools/v86/tethering.rb +57 -0
  157. data/lib/selenium/webdriver/devtools/v86/tracing.rb +78 -0
  158. data/lib/selenium/webdriver/devtools/v86/web_audio.rb +72 -0
  159. data/lib/selenium/webdriver/devtools/v86/web_authn.rb +102 -0
  160. data/lib/selenium/webdriver/devtools/v87/accessibility.rb +73 -0
  161. data/lib/selenium/webdriver/devtools/v87/animation.rb +100 -0
  162. data/lib/selenium/webdriver/devtools/v87/application_cache.rb +66 -0
  163. data/lib/selenium/webdriver/devtools/v87/audits.rb +63 -0
  164. data/lib/selenium/webdriver/devtools/v87/background_service.rb +69 -0
  165. data/lib/selenium/webdriver/devtools/v87/browser.rb +125 -0
  166. data/lib/selenium/webdriver/devtools/v87/cache_storage.rb +75 -0
  167. data/lib/selenium/webdriver/devtools/v87/cast.rb +72 -0
  168. data/lib/selenium/webdriver/devtools/v87/console.rb +59 -0
  169. data/lib/selenium/webdriver/devtools/v87/css.rb +181 -0
  170. data/lib/selenium/webdriver/devtools/v87/database.rb +66 -0
  171. data/lib/selenium/webdriver/devtools/v87/debugger.rb +233 -0
  172. data/lib/selenium/webdriver/devtools/v87/device_orientation.rb +55 -0
  173. data/lib/selenium/webdriver/devtools/v87/dom.rb +329 -0
  174. data/lib/selenium/webdriver/devtools/v87/dom_debugger.rb +95 -0
  175. data/lib/selenium/webdriver/devtools/v87/dom_snapshot.rb +67 -0
  176. data/lib/selenium/webdriver/devtools/v87/dom_storage.rb +81 -0
  177. data/lib/selenium/webdriver/devtools/v87/emulation.rb +193 -0
  178. data/lib/selenium/webdriver/devtools/v87/fetch.rb +99 -0
  179. data/lib/selenium/webdriver/devtools/v87/headless_experimental.rb +63 -0
  180. data/lib/selenium/webdriver/devtools/v87/heap_profiler.rb +109 -0
  181. data/lib/selenium/webdriver/devtools/v87/indexed_db.rb +102 -0
  182. data/lib/selenium/webdriver/devtools/v87/input.rb +143 -0
  183. data/lib/selenium/webdriver/devtools/v87/inspector.rb +57 -0
  184. data/lib/selenium/webdriver/devtools/v87/io.rb +61 -0
  185. data/lib/selenium/webdriver/devtools/v87/layer_tree.rb +97 -0
  186. data/lib/selenium/webdriver/devtools/v87/log.rb +68 -0
  187. data/lib/selenium/webdriver/devtools/v87/media.rb +59 -0
  188. data/lib/selenium/webdriver/devtools/v87/memory.rb +88 -0
  189. data/lib/selenium/webdriver/devtools/v87/network.rb +247 -0
  190. data/lib/selenium/webdriver/devtools/v87/overlay.rb +183 -0
  191. data/lib/selenium/webdriver/devtools/v87/page.rb +376 -0
  192. data/lib/selenium/webdriver/devtools/v87/performance.rb +65 -0
  193. data/lib/selenium/webdriver/devtools/v87/profiler.rb +125 -0
  194. data/lib/selenium/webdriver/devtools/v87/runtime.rb +196 -0
  195. data/lib/selenium/webdriver/devtools/v87/schema.rb +48 -0
  196. data/lib/selenium/webdriver/devtools/v87/security.rb +73 -0
  197. data/lib/selenium/webdriver/devtools/v87/service_worker.rb +118 -0
  198. data/lib/selenium/webdriver/devtools/v87/storage.rb +97 -0
  199. data/lib/selenium/webdriver/devtools/v87/system_info.rb +52 -0
  200. data/lib/selenium/webdriver/devtools/v87/target.rb +145 -0
  201. data/lib/selenium/webdriver/devtools/v87/tethering.rb +57 -0
  202. data/lib/selenium/webdriver/devtools/v87/tracing.rb +78 -0
  203. data/lib/selenium/webdriver/devtools/v87/web_audio.rb +72 -0
  204. data/lib/selenium/webdriver/devtools/v87/web_authn.rb +102 -0
  205. data/lib/selenium/webdriver/edge.rb +2 -2
  206. data/lib/selenium/webdriver/edge_chrome/driver.rb +6 -0
  207. data/lib/selenium/webdriver/edge_chrome/options.rb +2 -1
  208. data/lib/selenium/webdriver/edge_html/driver.rb +1 -2
  209. data/lib/selenium/webdriver/firefox/driver.rb +0 -1
  210. data/lib/selenium/webdriver/ie/driver.rb +0 -1
  211. data/lib/selenium/webdriver/ie/options.rb +1 -1
  212. data/lib/selenium/webdriver/remote/bridge.rb +4 -0
  213. data/lib/selenium/webdriver/remote/capabilities.rb +4 -2
  214. data/lib/selenium/webdriver/remote/driver.rb +0 -1
  215. data/lib/selenium/webdriver/remote/http/default.rb +1 -2
  216. data/lib/selenium/webdriver/safari.rb +7 -0
  217. data/lib/selenium/webdriver/safari/driver.rb +0 -1
  218. data/lib/selenium/webdriver/version.rb +1 -1
  219. data/selenium-webdriver.gemspec +3 -3
  220. metadata +193 -52
  221. data/lib/selenium/webdriver/devtools/accessibility.rb +0 -62
  222. data/lib/selenium/webdriver/devtools/animation.rb +0 -98
  223. data/lib/selenium/webdriver/devtools/application_cache.rb +0 -64
  224. data/lib/selenium/webdriver/devtools/background_service.rb +0 -67
  225. data/lib/selenium/webdriver/devtools/browser.rb +0 -123
  226. data/lib/selenium/webdriver/devtools/cache_storage.rb +0 -73
  227. data/lib/selenium/webdriver/devtools/cast.rb +0 -70
  228. data/lib/selenium/webdriver/devtools/css.rb +0 -165
  229. data/lib/selenium/webdriver/devtools/debugger.rb +0 -229
  230. data/lib/selenium/webdriver/devtools/dom.rb +0 -320
  231. data/lib/selenium/webdriver/devtools/domdebugger.rb +0 -93
  232. data/lib/selenium/webdriver/devtools/domsnapshot.rb +0 -65
  233. data/lib/selenium/webdriver/devtools/domstorage.rb +0 -79
  234. data/lib/selenium/webdriver/devtools/emulation.rb +0 -180
  235. data/lib/selenium/webdriver/devtools/fetch.rb +0 -97
  236. data/lib/selenium/webdriver/devtools/headless_experimental.rb +0 -61
  237. data/lib/selenium/webdriver/devtools/heap_profiler.rb +0 -107
  238. data/lib/selenium/webdriver/devtools/indexed_db.rb +0 -100
  239. data/lib/selenium/webdriver/devtools/input.rb +0 -140
  240. data/lib/selenium/webdriver/devtools/layer_tree.rb +0 -95
  241. data/lib/selenium/webdriver/devtools/memory.rb +0 -86
  242. data/lib/selenium/webdriver/devtools/network.rb +0 -228
  243. data/lib/selenium/webdriver/devtools/overlay.rb +0 -157
  244. data/lib/selenium/webdriver/devtools/page.rb +0 -374
  245. data/lib/selenium/webdriver/devtools/profiler.rb +0 -111
  246. data/lib/selenium/webdriver/devtools/runtime.rb +0 -193
  247. data/lib/selenium/webdriver/devtools/security.rb +0 -71
  248. data/lib/selenium/webdriver/devtools/service_worker.rb +0 -116
  249. data/lib/selenium/webdriver/devtools/storage.rb +0 -95
  250. data/lib/selenium/webdriver/devtools/target.rb +0 -141
  251. data/lib/selenium/webdriver/devtools/tracing.rb +0 -76
  252. data/lib/selenium/webdriver/devtools/web_audio.rb +0 -70
  253. data/lib/selenium/webdriver/devtools/web_authn.rb +0 -94
  254. data/lib/selenium/webdriver/support/cdp_client_generator.rb +0 -77
@@ -0,0 +1,67 @@
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 WebDriver
23
+ class DevTools
24
+ def dom_snapshot
25
+ @dom_snapshot ||= V87::DOMSnapshot.new(self)
26
+ end
27
+
28
+ module V87
29
+ class DOMSnapshot
30
+
31
+ def initialize(devtools)
32
+ @devtools = devtools
33
+ end
34
+
35
+ def on(event, &block)
36
+ event = EVENTS[event] if event.is_a?(Symbol)
37
+ @devtools.callbacks["DOMSnapshot.#{event}"] << block
38
+ end
39
+
40
+ def disable
41
+ @devtools.send_cmd('DOMSnapshot.disable')
42
+ end
43
+
44
+ def enable
45
+ @devtools.send_cmd('DOMSnapshot.enable')
46
+ end
47
+
48
+ def get_snapshot(computed_style_whitelist:, include_event_listeners: nil, include_paint_order: nil, include_user_agent_shadow_tree: nil)
49
+ @devtools.send_cmd('DOMSnapshot.getSnapshot',
50
+ computedStyleWhitelist: computed_style_whitelist,
51
+ includeEventListeners: include_event_listeners,
52
+ includePaintOrder: include_paint_order,
53
+ includeUserAgentShadowTree: include_user_agent_shadow_tree)
54
+ end
55
+
56
+ def capture_snapshot(computed_styles:, include_paint_order: nil, include_dom_rects: nil)
57
+ @devtools.send_cmd('DOMSnapshot.captureSnapshot',
58
+ computedStyles: computed_styles,
59
+ includePaintOrder: include_paint_order,
60
+ includeDOMRects: include_dom_rects)
61
+ end
62
+
63
+ end # V87
64
+ end # DOMSnapshot
65
+ end # DevTools
66
+ end # WebDriver
67
+ end # Selenium
@@ -0,0 +1,81 @@
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 WebDriver
23
+ class DevTools
24
+ def dom_storage
25
+ @dom_storage ||= V87::DOMStorage.new(self)
26
+ end
27
+
28
+ module V87
29
+ class DOMStorage
30
+ EVENTS = {
31
+ dom_storage_item_added: 'domStorageItemAdded',
32
+ dom_storage_item_removed: 'domStorageItemRemoved',
33
+ dom_storage_item_updated: 'domStorageItemUpdated',
34
+ dom_storage_items_cleared: 'domStorageItemsCleared',
35
+ }.freeze
36
+
37
+ def initialize(devtools)
38
+ @devtools = devtools
39
+ end
40
+
41
+ def on(event, &block)
42
+ event = EVENTS[event] if event.is_a?(Symbol)
43
+ @devtools.callbacks["DOMStorage.#{event}"] << block
44
+ end
45
+
46
+ def clear(storage_id:)
47
+ @devtools.send_cmd('DOMStorage.clear',
48
+ storageId: storage_id)
49
+ end
50
+
51
+ def disable
52
+ @devtools.send_cmd('DOMStorage.disable')
53
+ end
54
+
55
+ def enable
56
+ @devtools.send_cmd('DOMStorage.enable')
57
+ end
58
+
59
+ def get_dom_storage_items(storage_id:)
60
+ @devtools.send_cmd('DOMStorage.getDOMStorageItems',
61
+ storageId: storage_id)
62
+ end
63
+
64
+ def remove_dom_storage_item(storage_id:, key:)
65
+ @devtools.send_cmd('DOMStorage.removeDOMStorageItem',
66
+ storageId: storage_id,
67
+ key: key)
68
+ end
69
+
70
+ def set_dom_storage_item(storage_id:, key:, value:)
71
+ @devtools.send_cmd('DOMStorage.setDOMStorageItem',
72
+ storageId: storage_id,
73
+ key: key,
74
+ value: value)
75
+ end
76
+
77
+ end # V87
78
+ end # DOMStorage
79
+ end # DevTools
80
+ end # WebDriver
81
+ end # Selenium
@@ -0,0 +1,193 @@
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 WebDriver
23
+ class DevTools
24
+ def emulation
25
+ @emulation ||= V87::Emulation.new(self)
26
+ end
27
+
28
+ module V87
29
+ class Emulation
30
+ EVENTS = {
31
+ virtual_time_budget_expired: 'virtualTimeBudgetExpired',
32
+ }.freeze
33
+
34
+ def initialize(devtools)
35
+ @devtools = devtools
36
+ end
37
+
38
+ def on(event, &block)
39
+ event = EVENTS[event] if event.is_a?(Symbol)
40
+ @devtools.callbacks["Emulation.#{event}"] << block
41
+ end
42
+
43
+ def can_emulate
44
+ @devtools.send_cmd('Emulation.canEmulate')
45
+ end
46
+
47
+ def clear_device_metrics_override
48
+ @devtools.send_cmd('Emulation.clearDeviceMetricsOverride')
49
+ end
50
+
51
+ def clear_geolocation_override
52
+ @devtools.send_cmd('Emulation.clearGeolocationOverride')
53
+ end
54
+
55
+ def reset_page_scale_factor
56
+ @devtools.send_cmd('Emulation.resetPageScaleFactor')
57
+ end
58
+
59
+ def set_focus_emulation_enabled(enabled:)
60
+ @devtools.send_cmd('Emulation.setFocusEmulationEnabled',
61
+ enabled: enabled)
62
+ end
63
+
64
+ def set_cpu_throttling_rate(rate:)
65
+ @devtools.send_cmd('Emulation.setCPUThrottlingRate',
66
+ rate: rate)
67
+ end
68
+
69
+ def set_default_background_color_override(color: nil)
70
+ @devtools.send_cmd('Emulation.setDefaultBackgroundColorOverride',
71
+ color: color)
72
+ end
73
+
74
+ def set_device_metrics_override(width:, height:, device_scale_factor:, mobile:, scale: nil, screen_width: nil, screen_height: nil, position_x: nil, position_y: nil, dont_set_visible_size: nil, screen_orientation: nil, viewport: nil, display_feature: nil)
75
+ @devtools.send_cmd('Emulation.setDeviceMetricsOverride',
76
+ width: width,
77
+ height: height,
78
+ deviceScaleFactor: device_scale_factor,
79
+ mobile: mobile,
80
+ scale: scale,
81
+ screenWidth: screen_width,
82
+ screenHeight: screen_height,
83
+ positionX: position_x,
84
+ positionY: position_y,
85
+ dontSetVisibleSize: dont_set_visible_size,
86
+ screenOrientation: screen_orientation,
87
+ viewport: viewport,
88
+ displayFeature: display_feature)
89
+ end
90
+
91
+ def set_scrollbars_hidden(hidden:)
92
+ @devtools.send_cmd('Emulation.setScrollbarsHidden',
93
+ hidden: hidden)
94
+ end
95
+
96
+ def set_document_cookie_disabled(disabled:)
97
+ @devtools.send_cmd('Emulation.setDocumentCookieDisabled',
98
+ disabled: disabled)
99
+ end
100
+
101
+ def set_emit_touch_events_for_mouse(enabled:, configuration: nil)
102
+ @devtools.send_cmd('Emulation.setEmitTouchEventsForMouse',
103
+ enabled: enabled,
104
+ configuration: configuration)
105
+ end
106
+
107
+ def set_emulated_media(media: nil, features: nil)
108
+ @devtools.send_cmd('Emulation.setEmulatedMedia',
109
+ media: media,
110
+ features: features)
111
+ end
112
+
113
+ def set_emulated_vision_deficiency(type:)
114
+ @devtools.send_cmd('Emulation.setEmulatedVisionDeficiency',
115
+ type: type)
116
+ end
117
+
118
+ def set_geolocation_override(latitude: nil, longitude: nil, accuracy: nil)
119
+ @devtools.send_cmd('Emulation.setGeolocationOverride',
120
+ latitude: latitude,
121
+ longitude: longitude,
122
+ accuracy: accuracy)
123
+ end
124
+
125
+ def set_idle_override(is_user_active:, is_screen_unlocked:)
126
+ @devtools.send_cmd('Emulation.setIdleOverride',
127
+ isUserActive: is_user_active,
128
+ isScreenUnlocked: is_screen_unlocked)
129
+ end
130
+
131
+ def clear_idle_override
132
+ @devtools.send_cmd('Emulation.clearIdleOverride')
133
+ end
134
+
135
+ def set_navigator_overrides(platform:)
136
+ @devtools.send_cmd('Emulation.setNavigatorOverrides',
137
+ platform: platform)
138
+ end
139
+
140
+ def set_page_scale_factor(page_scale_factor:)
141
+ @devtools.send_cmd('Emulation.setPageScaleFactor',
142
+ pageScaleFactor: page_scale_factor)
143
+ end
144
+
145
+ def set_script_execution_disabled(value:)
146
+ @devtools.send_cmd('Emulation.setScriptExecutionDisabled',
147
+ value: value)
148
+ end
149
+
150
+ def set_touch_emulation_enabled(enabled:, max_touch_points: nil)
151
+ @devtools.send_cmd('Emulation.setTouchEmulationEnabled',
152
+ enabled: enabled,
153
+ maxTouchPoints: max_touch_points)
154
+ end
155
+
156
+ def set_virtual_time_policy(policy:, budget: nil, max_virtual_time_task_starvation_count: nil, wait_for_navigation: nil, initial_virtual_time: nil)
157
+ @devtools.send_cmd('Emulation.setVirtualTimePolicy',
158
+ policy: policy,
159
+ budget: budget,
160
+ maxVirtualTimeTaskStarvationCount: max_virtual_time_task_starvation_count,
161
+ waitForNavigation: wait_for_navigation,
162
+ initialVirtualTime: initial_virtual_time)
163
+ end
164
+
165
+ def set_locale_override(locale: nil)
166
+ @devtools.send_cmd('Emulation.setLocaleOverride',
167
+ locale: locale)
168
+ end
169
+
170
+ def set_timezone_override(timezone_id:)
171
+ @devtools.send_cmd('Emulation.setTimezoneOverride',
172
+ timezoneId: timezone_id)
173
+ end
174
+
175
+ def set_visible_size(width:, height:)
176
+ @devtools.send_cmd('Emulation.setVisibleSize',
177
+ width: width,
178
+ height: height)
179
+ end
180
+
181
+ def set_user_agent_override(user_agent:, accept_language: nil, platform: nil, user_agent_metadata: nil)
182
+ @devtools.send_cmd('Emulation.setUserAgentOverride',
183
+ userAgent: user_agent,
184
+ acceptLanguage: accept_language,
185
+ platform: platform,
186
+ userAgentMetadata: user_agent_metadata)
187
+ end
188
+
189
+ end # V87
190
+ end # Emulation
191
+ end # DevTools
192
+ end # WebDriver
193
+ end # Selenium
@@ -0,0 +1,99 @@
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 WebDriver
23
+ class DevTools
24
+ def fetch
25
+ @fetch ||= V87::Fetch.new(self)
26
+ end
27
+
28
+ module V87
29
+ class Fetch
30
+ EVENTS = {
31
+ request_paused: 'requestPaused',
32
+ auth_required: 'authRequired',
33
+ }.freeze
34
+
35
+ def initialize(devtools)
36
+ @devtools = devtools
37
+ end
38
+
39
+ def on(event, &block)
40
+ event = EVENTS[event] if event.is_a?(Symbol)
41
+ @devtools.callbacks["Fetch.#{event}"] << block
42
+ end
43
+
44
+ def disable
45
+ @devtools.send_cmd('Fetch.disable')
46
+ end
47
+
48
+ def enable(patterns: nil, handle_auth_requests: nil)
49
+ @devtools.send_cmd('Fetch.enable',
50
+ patterns: patterns,
51
+ handleAuthRequests: handle_auth_requests)
52
+ end
53
+
54
+ def fail_request(request_id:, error_reason:)
55
+ @devtools.send_cmd('Fetch.failRequest',
56
+ requestId: request_id,
57
+ errorReason: error_reason)
58
+ end
59
+
60
+ def fulfill_request(request_id:, response_code:, response_headers: nil, binary_response_headers: nil, body: nil, response_phrase: nil)
61
+ @devtools.send_cmd('Fetch.fulfillRequest',
62
+ requestId: request_id,
63
+ responseCode: response_code,
64
+ responseHeaders: response_headers,
65
+ binaryResponseHeaders: binary_response_headers,
66
+ body: body,
67
+ responsePhrase: response_phrase)
68
+ end
69
+
70
+ def continue_request(request_id:, url: nil, method: nil, post_data: nil, headers: nil)
71
+ @devtools.send_cmd('Fetch.continueRequest',
72
+ requestId: request_id,
73
+ url: url,
74
+ method: method,
75
+ postData: post_data,
76
+ headers: headers)
77
+ end
78
+
79
+ def continue_with_auth(request_id:, auth_challenge_response:)
80
+ @devtools.send_cmd('Fetch.continueWithAuth',
81
+ requestId: request_id,
82
+ authChallengeResponse: auth_challenge_response)
83
+ end
84
+
85
+ def get_response_body(request_id:)
86
+ @devtools.send_cmd('Fetch.getResponseBody',
87
+ requestId: request_id)
88
+ end
89
+
90
+ def take_response_body_as_stream(request_id:)
91
+ @devtools.send_cmd('Fetch.takeResponseBodyAsStream',
92
+ requestId: request_id)
93
+ end
94
+
95
+ end # V87
96
+ end # Fetch
97
+ end # DevTools
98
+ end # WebDriver
99
+ end # Selenium
@@ -0,0 +1,63 @@
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 WebDriver
23
+ class DevTools
24
+ def headless_experimental
25
+ @headless_experimental ||= V87::HeadlessExperimental.new(self)
26
+ end
27
+
28
+ module V87
29
+ class HeadlessExperimental
30
+ EVENTS = {
31
+ needs_begin_frames_changed: 'needsBeginFramesChanged',
32
+ }.freeze
33
+
34
+ def initialize(devtools)
35
+ @devtools = devtools
36
+ end
37
+
38
+ def on(event, &block)
39
+ event = EVENTS[event] if event.is_a?(Symbol)
40
+ @devtools.callbacks["HeadlessExperimental.#{event}"] << block
41
+ end
42
+
43
+ def begin_frame(frame_time_ticks: nil, interval: nil, no_display_updates: nil, screenshot: nil)
44
+ @devtools.send_cmd('HeadlessExperimental.beginFrame',
45
+ frameTimeTicks: frame_time_ticks,
46
+ interval: interval,
47
+ noDisplayUpdates: no_display_updates,
48
+ screenshot: screenshot)
49
+ end
50
+
51
+ def disable
52
+ @devtools.send_cmd('HeadlessExperimental.disable')
53
+ end
54
+
55
+ def enable
56
+ @devtools.send_cmd('HeadlessExperimental.enable')
57
+ end
58
+
59
+ end # V87
60
+ end # HeadlessExperimental
61
+ end # DevTools
62
+ end # WebDriver
63
+ end # Selenium