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,183 @@
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 overlay
25
+ @overlay ||= V86::Overlay.new(self)
26
+ end
27
+
28
+ module V86
29
+ class Overlay
30
+ EVENTS = {
31
+ inspect_node_requested: 'inspectNodeRequested',
32
+ node_highlight_requested: 'nodeHighlightRequested',
33
+ screenshot_requested: 'screenshotRequested',
34
+ inspect_mode_canceled: 'inspectModeCanceled',
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["Overlay.#{event}"] << block
44
+ end
45
+
46
+ def disable
47
+ @devtools.send_cmd('Overlay.disable')
48
+ end
49
+
50
+ def enable
51
+ @devtools.send_cmd('Overlay.enable')
52
+ end
53
+
54
+ def get_highlight_object_for_test(node_id:, include_distance: nil, include_style: nil, color_format: nil, show_accessibility_info: nil)
55
+ @devtools.send_cmd('Overlay.getHighlightObjectForTest',
56
+ nodeId: node_id,
57
+ includeDistance: include_distance,
58
+ includeStyle: include_style,
59
+ colorFormat: color_format,
60
+ showAccessibilityInfo: show_accessibility_info)
61
+ end
62
+
63
+ def get_grid_highlight_objects_for_test(node_ids:)
64
+ @devtools.send_cmd('Overlay.getGridHighlightObjectsForTest',
65
+ nodeIds: node_ids)
66
+ end
67
+
68
+ def get_source_order_highlight_object_for_test(node_id:)
69
+ @devtools.send_cmd('Overlay.getSourceOrderHighlightObjectForTest',
70
+ nodeId: node_id)
71
+ end
72
+
73
+ def hide_highlight
74
+ @devtools.send_cmd('Overlay.hideHighlight')
75
+ end
76
+
77
+ def highlight_frame(frame_id:, content_color: nil, content_outline_color: nil)
78
+ @devtools.send_cmd('Overlay.highlightFrame',
79
+ frameId: frame_id,
80
+ contentColor: content_color,
81
+ contentOutlineColor: content_outline_color)
82
+ end
83
+
84
+ def highlight_node(highlight_config:, node_id: nil, backend_node_id: nil, object_id: nil, selector: nil)
85
+ @devtools.send_cmd('Overlay.highlightNode',
86
+ highlightConfig: highlight_config,
87
+ nodeId: node_id,
88
+ backendNodeId: backend_node_id,
89
+ objectId: object_id,
90
+ selector: selector)
91
+ end
92
+
93
+ def highlight_quad(quad:, color: nil, outline_color: nil)
94
+ @devtools.send_cmd('Overlay.highlightQuad',
95
+ quad: quad,
96
+ color: color,
97
+ outlineColor: outline_color)
98
+ end
99
+
100
+ def highlight_rect(x:, y:, width:, height:, color: nil, outline_color: nil)
101
+ @devtools.send_cmd('Overlay.highlightRect',
102
+ x: x,
103
+ y: y,
104
+ width: width,
105
+ height: height,
106
+ color: color,
107
+ outlineColor: outline_color)
108
+ end
109
+
110
+ def highlight_source_order(source_order_config:, node_id: nil, backend_node_id: nil, object_id: nil)
111
+ @devtools.send_cmd('Overlay.highlightSourceOrder',
112
+ sourceOrderConfig: source_order_config,
113
+ nodeId: node_id,
114
+ backendNodeId: backend_node_id,
115
+ objectId: object_id)
116
+ end
117
+
118
+ def set_inspect_mode(mode:, highlight_config: nil)
119
+ @devtools.send_cmd('Overlay.setInspectMode',
120
+ mode: mode,
121
+ highlightConfig: highlight_config)
122
+ end
123
+
124
+ def set_show_ad_highlights(show:)
125
+ @devtools.send_cmd('Overlay.setShowAdHighlights',
126
+ show: show)
127
+ end
128
+
129
+ def set_paused_in_debugger_message(message: nil)
130
+ @devtools.send_cmd('Overlay.setPausedInDebuggerMessage',
131
+ message: message)
132
+ end
133
+
134
+ def set_show_debug_borders(show:)
135
+ @devtools.send_cmd('Overlay.setShowDebugBorders',
136
+ show: show)
137
+ end
138
+
139
+ def set_show_fps_counter(show:)
140
+ @devtools.send_cmd('Overlay.setShowFPSCounter',
141
+ show: show)
142
+ end
143
+
144
+ def set_show_grid_overlays(grid_node_highlight_configs:)
145
+ @devtools.send_cmd('Overlay.setShowGridOverlays',
146
+ gridNodeHighlightConfigs: grid_node_highlight_configs)
147
+ end
148
+
149
+ def set_show_paint_rects(result:)
150
+ @devtools.send_cmd('Overlay.setShowPaintRects',
151
+ result: result)
152
+ end
153
+
154
+ def set_show_layout_shift_regions(result:)
155
+ @devtools.send_cmd('Overlay.setShowLayoutShiftRegions',
156
+ result: result)
157
+ end
158
+
159
+ def set_show_scroll_bottleneck_rects(show:)
160
+ @devtools.send_cmd('Overlay.setShowScrollBottleneckRects',
161
+ show: show)
162
+ end
163
+
164
+ def set_show_hit_test_borders(show:)
165
+ @devtools.send_cmd('Overlay.setShowHitTestBorders',
166
+ show: show)
167
+ end
168
+
169
+ def set_show_viewport_size_on_resize(show:)
170
+ @devtools.send_cmd('Overlay.setShowViewportSizeOnResize',
171
+ show: show)
172
+ end
173
+
174
+ def set_show_hinge(hinge_config: nil)
175
+ @devtools.send_cmd('Overlay.setShowHinge',
176
+ hingeConfig: hinge_config)
177
+ end
178
+
179
+ end # V86
180
+ end # Overlay
181
+ end # DevTools
182
+ end # WebDriver
183
+ end # Selenium
@@ -0,0 +1,376 @@
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 page
25
+ @page ||= V86::Page.new(self)
26
+ end
27
+
28
+ module V86
29
+ class Page
30
+ EVENTS = {
31
+ dom_content_event_fired: 'domContentEventFired',
32
+ file_chooser_opened: 'fileChooserOpened',
33
+ frame_attached: 'frameAttached',
34
+ frame_cleared_scheduled_navigation: 'frameClearedScheduledNavigation',
35
+ frame_detached: 'frameDetached',
36
+ frame_navigated: 'frameNavigated',
37
+ frame_resized: 'frameResized',
38
+ frame_requested_navigation: 'frameRequestedNavigation',
39
+ frame_scheduled_navigation: 'frameScheduledNavigation',
40
+ frame_started_loading: 'frameStartedLoading',
41
+ frame_stopped_loading: 'frameStoppedLoading',
42
+ download_will_begin: 'downloadWillBegin',
43
+ download_progress: 'downloadProgress',
44
+ interstitial_hidden: 'interstitialHidden',
45
+ interstitial_shown: 'interstitialShown',
46
+ javascript_dialog_closed: 'javascriptDialogClosed',
47
+ javascript_dialog_opening: 'javascriptDialogOpening',
48
+ lifecycle_event: 'lifecycleEvent',
49
+ load_event_fired: 'loadEventFired',
50
+ navigated_within_document: 'navigatedWithinDocument',
51
+ screencast_frame: 'screencastFrame',
52
+ screencast_visibility_changed: 'screencastVisibilityChanged',
53
+ window_open: 'windowOpen',
54
+ compilation_cache_produced: 'compilationCacheProduced',
55
+ }.freeze
56
+
57
+ def initialize(devtools)
58
+ @devtools = devtools
59
+ end
60
+
61
+ def on(event, &block)
62
+ event = EVENTS[event] if event.is_a?(Symbol)
63
+ @devtools.callbacks["Page.#{event}"] << block
64
+ end
65
+
66
+ def add_script_to_evaluate_on_load(script_source:)
67
+ @devtools.send_cmd('Page.addScriptToEvaluateOnLoad',
68
+ scriptSource: script_source)
69
+ end
70
+
71
+ def add_script_to_evaluate_on_new_document(source:, world_name: nil)
72
+ @devtools.send_cmd('Page.addScriptToEvaluateOnNewDocument',
73
+ source: source,
74
+ worldName: world_name)
75
+ end
76
+
77
+ def bring_to_front
78
+ @devtools.send_cmd('Page.bringToFront')
79
+ end
80
+
81
+ def capture_screenshot(format: nil, quality: nil, clip: nil, from_surface: nil)
82
+ @devtools.send_cmd('Page.captureScreenshot',
83
+ format: format,
84
+ quality: quality,
85
+ clip: clip,
86
+ fromSurface: from_surface)
87
+ end
88
+
89
+ def capture_snapshot(format: nil)
90
+ @devtools.send_cmd('Page.captureSnapshot',
91
+ format: format)
92
+ end
93
+
94
+ def clear_device_metrics_override
95
+ @devtools.send_cmd('Page.clearDeviceMetricsOverride')
96
+ end
97
+
98
+ def clear_device_orientation_override
99
+ @devtools.send_cmd('Page.clearDeviceOrientationOverride')
100
+ end
101
+
102
+ def clear_geolocation_override
103
+ @devtools.send_cmd('Page.clearGeolocationOverride')
104
+ end
105
+
106
+ def create_isolated_world(frame_id:, world_name: nil, grant_univeral_access: nil)
107
+ @devtools.send_cmd('Page.createIsolatedWorld',
108
+ frameId: frame_id,
109
+ worldName: world_name,
110
+ grantUniveralAccess: grant_univeral_access)
111
+ end
112
+
113
+ def delete_cookie(cookie_name:, url:)
114
+ @devtools.send_cmd('Page.deleteCookie',
115
+ cookieName: cookie_name,
116
+ url: url)
117
+ end
118
+
119
+ def disable
120
+ @devtools.send_cmd('Page.disable')
121
+ end
122
+
123
+ def enable
124
+ @devtools.send_cmd('Page.enable')
125
+ end
126
+
127
+ def get_app_manifest
128
+ @devtools.send_cmd('Page.getAppManifest')
129
+ end
130
+
131
+ def get_installability_errors
132
+ @devtools.send_cmd('Page.getInstallabilityErrors')
133
+ end
134
+
135
+ def get_manifest_icons
136
+ @devtools.send_cmd('Page.getManifestIcons')
137
+ end
138
+
139
+ def get_cookies
140
+ @devtools.send_cmd('Page.getCookies')
141
+ end
142
+
143
+ def get_frame_tree
144
+ @devtools.send_cmd('Page.getFrameTree')
145
+ end
146
+
147
+ def get_layout_metrics
148
+ @devtools.send_cmd('Page.getLayoutMetrics')
149
+ end
150
+
151
+ def get_navigation_history
152
+ @devtools.send_cmd('Page.getNavigationHistory')
153
+ end
154
+
155
+ def reset_navigation_history
156
+ @devtools.send_cmd('Page.resetNavigationHistory')
157
+ end
158
+
159
+ def get_resource_content(frame_id:, url:)
160
+ @devtools.send_cmd('Page.getResourceContent',
161
+ frameId: frame_id,
162
+ url: url)
163
+ end
164
+
165
+ def get_resource_tree
166
+ @devtools.send_cmd('Page.getResourceTree')
167
+ end
168
+
169
+ def handle_java_script_dialog(accept:, prompt_text: nil)
170
+ @devtools.send_cmd('Page.handleJavaScriptDialog',
171
+ accept: accept,
172
+ promptText: prompt_text)
173
+ end
174
+
175
+ def navigate(url:, referrer: nil, transition_type: nil, frame_id: nil, referrer_policy: nil)
176
+ @devtools.send_cmd('Page.navigate',
177
+ url: url,
178
+ referrer: referrer,
179
+ transitionType: transition_type,
180
+ frameId: frame_id,
181
+ referrerPolicy: referrer_policy)
182
+ end
183
+
184
+ def navigate_to_history_entry(entry_id:)
185
+ @devtools.send_cmd('Page.navigateToHistoryEntry',
186
+ entryId: entry_id)
187
+ end
188
+
189
+ def print_to_pdf(landscape: nil, display_header_footer: nil, print_background: nil, scale: nil, paper_width: nil, paper_height: nil, margin_top: nil, margin_bottom: nil, margin_left: nil, margin_right: nil, page_ranges: nil, ignore_invalid_page_ranges: nil, header_template: nil, footer_template: nil, prefer_css_page_size: nil, transfer_mode: nil)
190
+ @devtools.send_cmd('Page.printToPDF',
191
+ landscape: landscape,
192
+ displayHeaderFooter: display_header_footer,
193
+ printBackground: print_background,
194
+ scale: scale,
195
+ paperWidth: paper_width,
196
+ paperHeight: paper_height,
197
+ marginTop: margin_top,
198
+ marginBottom: margin_bottom,
199
+ marginLeft: margin_left,
200
+ marginRight: margin_right,
201
+ pageRanges: page_ranges,
202
+ ignoreInvalidPageRanges: ignore_invalid_page_ranges,
203
+ headerTemplate: header_template,
204
+ footerTemplate: footer_template,
205
+ preferCSSPageSize: prefer_css_page_size,
206
+ transferMode: transfer_mode)
207
+ end
208
+
209
+ def reload(ignore_cache: nil, script_to_evaluate_on_load: nil)
210
+ @devtools.send_cmd('Page.reload',
211
+ ignoreCache: ignore_cache,
212
+ scriptToEvaluateOnLoad: script_to_evaluate_on_load)
213
+ end
214
+
215
+ def remove_script_to_evaluate_on_load(identifier:)
216
+ @devtools.send_cmd('Page.removeScriptToEvaluateOnLoad',
217
+ identifier: identifier)
218
+ end
219
+
220
+ def remove_script_to_evaluate_on_new_document(identifier:)
221
+ @devtools.send_cmd('Page.removeScriptToEvaluateOnNewDocument',
222
+ identifier: identifier)
223
+ end
224
+
225
+ def screencast_frame_ack(session_id:)
226
+ @devtools.send_cmd('Page.screencastFrameAck',
227
+ sessionId: session_id)
228
+ end
229
+
230
+ def search_in_resource(frame_id:, url:, query:, case_sensitive: nil, is_regex: nil)
231
+ @devtools.send_cmd('Page.searchInResource',
232
+ frameId: frame_id,
233
+ url: url,
234
+ query: query,
235
+ caseSensitive: case_sensitive,
236
+ isRegex: is_regex)
237
+ end
238
+
239
+ def set_ad_blocking_enabled(enabled:)
240
+ @devtools.send_cmd('Page.setAdBlockingEnabled',
241
+ enabled: enabled)
242
+ end
243
+
244
+ def set_bypass_csp(enabled:)
245
+ @devtools.send_cmd('Page.setBypassCSP',
246
+ enabled: enabled)
247
+ end
248
+
249
+ 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)
250
+ @devtools.send_cmd('Page.setDeviceMetricsOverride',
251
+ width: width,
252
+ height: height,
253
+ deviceScaleFactor: device_scale_factor,
254
+ mobile: mobile,
255
+ scale: scale,
256
+ screenWidth: screen_width,
257
+ screenHeight: screen_height,
258
+ positionX: position_x,
259
+ positionY: position_y,
260
+ dontSetVisibleSize: dont_set_visible_size,
261
+ screenOrientation: screen_orientation,
262
+ viewport: viewport)
263
+ end
264
+
265
+ def set_device_orientation_override(alpha:, beta:, gamma:)
266
+ @devtools.send_cmd('Page.setDeviceOrientationOverride',
267
+ alpha: alpha,
268
+ beta: beta,
269
+ gamma: gamma)
270
+ end
271
+
272
+ def set_font_families(font_families:)
273
+ @devtools.send_cmd('Page.setFontFamilies',
274
+ fontFamilies: font_families)
275
+ end
276
+
277
+ def set_font_sizes(font_sizes:)
278
+ @devtools.send_cmd('Page.setFontSizes',
279
+ fontSizes: font_sizes)
280
+ end
281
+
282
+ def set_document_content(frame_id:, html:)
283
+ @devtools.send_cmd('Page.setDocumentContent',
284
+ frameId: frame_id,
285
+ html: html)
286
+ end
287
+
288
+ def set_download_behavior(behavior:, download_path: nil)
289
+ @devtools.send_cmd('Page.setDownloadBehavior',
290
+ behavior: behavior,
291
+ downloadPath: download_path)
292
+ end
293
+
294
+ def set_geolocation_override(latitude: nil, longitude: nil, accuracy: nil)
295
+ @devtools.send_cmd('Page.setGeolocationOverride',
296
+ latitude: latitude,
297
+ longitude: longitude,
298
+ accuracy: accuracy)
299
+ end
300
+
301
+ def set_lifecycle_events_enabled(enabled:)
302
+ @devtools.send_cmd('Page.setLifecycleEventsEnabled',
303
+ enabled: enabled)
304
+ end
305
+
306
+ def set_touch_emulation_enabled(enabled:, configuration: nil)
307
+ @devtools.send_cmd('Page.setTouchEmulationEnabled',
308
+ enabled: enabled,
309
+ configuration: configuration)
310
+ end
311
+
312
+ def start_screencast(format: nil, quality: nil, max_width: nil, max_height: nil, every_nth_frame: nil)
313
+ @devtools.send_cmd('Page.startScreencast',
314
+ format: format,
315
+ quality: quality,
316
+ maxWidth: max_width,
317
+ maxHeight: max_height,
318
+ everyNthFrame: every_nth_frame)
319
+ end
320
+
321
+ def stop_loading
322
+ @devtools.send_cmd('Page.stopLoading')
323
+ end
324
+
325
+ def crash
326
+ @devtools.send_cmd('Page.crash')
327
+ end
328
+
329
+ def close
330
+ @devtools.send_cmd('Page.close')
331
+ end
332
+
333
+ def set_web_lifecycle_state(state:)
334
+ @devtools.send_cmd('Page.setWebLifecycleState',
335
+ state: state)
336
+ end
337
+
338
+ def stop_screencast
339
+ @devtools.send_cmd('Page.stopScreencast')
340
+ end
341
+
342
+ def set_produce_compilation_cache(enabled:)
343
+ @devtools.send_cmd('Page.setProduceCompilationCache',
344
+ enabled: enabled)
345
+ end
346
+
347
+ def add_compilation_cache(url:, data:)
348
+ @devtools.send_cmd('Page.addCompilationCache',
349
+ url: url,
350
+ data: data)
351
+ end
352
+
353
+ def clear_compilation_cache
354
+ @devtools.send_cmd('Page.clearCompilationCache')
355
+ end
356
+
357
+ def generate_test_report(message:, group: nil)
358
+ @devtools.send_cmd('Page.generateTestReport',
359
+ message: message,
360
+ group: group)
361
+ end
362
+
363
+ def wait_for_debugger
364
+ @devtools.send_cmd('Page.waitForDebugger')
365
+ end
366
+
367
+ def set_intercept_file_chooser_dialog(enabled:)
368
+ @devtools.send_cmd('Page.setInterceptFileChooserDialog',
369
+ enabled: enabled)
370
+ end
371
+
372
+ end # V86
373
+ end # Page
374
+ end # DevTools
375
+ end # WebDriver
376
+ end # Selenium