selenium-webdriver 4.0.0.alpha2 → 4.0.0.alpha7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES +172 -4
  3. data/LICENSE +1 -1
  4. data/lib/selenium/server.rb +25 -9
  5. data/lib/selenium/webdriver.rb +12 -8
  6. data/lib/selenium/webdriver/atoms/findElements.js +121 -0
  7. data/lib/selenium/webdriver/atoms/getAttribute.js +104 -7
  8. data/lib/selenium/webdriver/atoms/isDisplayed.js +76 -78
  9. data/lib/selenium/webdriver/atoms/mutationListener.js +38 -0
  10. data/lib/selenium/webdriver/chrome.rb +10 -9
  11. data/lib/selenium/webdriver/chrome/bridge.rb +20 -4
  12. data/lib/selenium/webdriver/chrome/driver.rb +7 -49
  13. data/lib/selenium/webdriver/chrome/options.rb +97 -57
  14. data/lib/selenium/webdriver/chrome/profile.rb +3 -3
  15. data/lib/selenium/webdriver/chrome/service.rb +0 -4
  16. data/lib/selenium/webdriver/common.rb +6 -1
  17. data/lib/selenium/webdriver/common/driver.rb +81 -17
  18. data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +89 -0
  19. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +39 -0
  20. data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +143 -0
  21. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +2 -1
  22. data/lib/selenium/webdriver/common/element.rb +5 -0
  23. data/lib/selenium/webdriver/common/logger.rb +48 -16
  24. data/lib/selenium/webdriver/common/manager.rb +5 -0
  25. data/lib/selenium/webdriver/common/options.rb +116 -0
  26. data/lib/selenium/webdriver/common/platform.rb +4 -1
  27. data/lib/selenium/webdriver/common/port_prober.rb +4 -6
  28. data/lib/selenium/webdriver/common/profile_helper.rb +10 -2
  29. data/lib/selenium/webdriver/common/proxy.rb +0 -0
  30. data/lib/selenium/webdriver/common/search_context.rb +3 -2
  31. data/lib/selenium/webdriver/common/service.rb +30 -113
  32. data/lib/selenium/webdriver/common/service_manager.rb +151 -0
  33. data/lib/selenium/webdriver/common/socket_lock.rb +2 -2
  34. data/lib/selenium/webdriver/common/takes_screenshot.rb +63 -0
  35. data/lib/selenium/webdriver/common/wait.rb +1 -1
  36. data/lib/selenium/webdriver/devtools.rb +132 -0
  37. data/lib/selenium/webdriver/devtools/console_event.rb +38 -0
  38. data/lib/selenium/webdriver/devtools/exception_event.rb +36 -0
  39. data/lib/selenium/webdriver/devtools/mutation_event.rb +37 -0
  40. data/lib/selenium/webdriver/devtools/v84/accessibility.rb +64 -0
  41. data/lib/selenium/webdriver/devtools/v84/animation.rb +100 -0
  42. data/lib/selenium/webdriver/devtools/v84/application_cache.rb +66 -0
  43. data/lib/selenium/webdriver/devtools/v84/audits.rb +63 -0
  44. data/lib/selenium/webdriver/devtools/v84/background_service.rb +69 -0
  45. data/lib/selenium/webdriver/devtools/v84/browser.rb +125 -0
  46. data/lib/selenium/webdriver/devtools/v84/cache_storage.rb +75 -0
  47. data/lib/selenium/webdriver/devtools/v84/cast.rb +72 -0
  48. data/lib/selenium/webdriver/devtools/v84/console.rb +59 -0
  49. data/lib/selenium/webdriver/devtools/v84/css.rb +167 -0
  50. data/lib/selenium/webdriver/devtools/v84/database.rb +66 -0
  51. data/lib/selenium/webdriver/devtools/v84/debugger.rb +231 -0
  52. data/lib/selenium/webdriver/devtools/v84/device_orientation.rb +55 -0
  53. data/lib/selenium/webdriver/devtools/v84/dom.rb +322 -0
  54. data/lib/selenium/webdriver/devtools/v84/dom_debugger.rb +95 -0
  55. data/lib/selenium/webdriver/devtools/v84/dom_snapshot.rb +67 -0
  56. data/lib/selenium/webdriver/devtools/v84/dom_storage.rb +81 -0
  57. data/lib/selenium/webdriver/devtools/v84/emulation.rb +182 -0
  58. data/lib/selenium/webdriver/devtools/v84/fetch.rb +99 -0
  59. data/lib/selenium/webdriver/devtools/v84/headless_experimental.rb +63 -0
  60. data/lib/selenium/webdriver/devtools/v84/heap_profiler.rb +109 -0
  61. data/lib/selenium/webdriver/devtools/v84/indexed_db.rb +102 -0
  62. data/lib/selenium/webdriver/devtools/v84/input.rb +142 -0
  63. data/lib/selenium/webdriver/devtools/v84/inspector.rb +57 -0
  64. data/lib/selenium/webdriver/devtools/v84/io.rb +61 -0
  65. data/lib/selenium/webdriver/devtools/v84/layer_tree.rb +97 -0
  66. data/lib/selenium/webdriver/devtools/v84/log.rb +68 -0
  67. data/lib/selenium/webdriver/devtools/v84/media.rb +59 -0
  68. data/lib/selenium/webdriver/devtools/v84/memory.rb +88 -0
  69. data/lib/selenium/webdriver/devtools/v84/network.rb +230 -0
  70. data/lib/selenium/webdriver/devtools/v84/overlay.rb +159 -0
  71. data/lib/selenium/webdriver/devtools/v84/page.rb +376 -0
  72. data/lib/selenium/webdriver/devtools/v84/performance.rb +65 -0
  73. data/lib/selenium/webdriver/devtools/v84/profiler.rb +113 -0
  74. data/lib/selenium/webdriver/devtools/v84/runtime.rb +195 -0
  75. data/lib/selenium/webdriver/devtools/v84/schema.rb +48 -0
  76. data/lib/selenium/webdriver/devtools/v84/security.rb +73 -0
  77. data/lib/selenium/webdriver/devtools/v84/service_worker.rb +118 -0
  78. data/lib/selenium/webdriver/devtools/v84/storage.rb +97 -0
  79. data/lib/selenium/webdriver/devtools/v84/system_info.rb +52 -0
  80. data/lib/selenium/webdriver/devtools/v84/target.rb +143 -0
  81. data/lib/selenium/webdriver/devtools/v84/tethering.rb +57 -0
  82. data/lib/selenium/webdriver/devtools/v84/tracing.rb +78 -0
  83. data/lib/selenium/webdriver/devtools/v84/web_audio.rb +72 -0
  84. data/lib/selenium/webdriver/devtools/v84/web_authn.rb +96 -0
  85. data/lib/selenium/webdriver/devtools/v85/accessibility.rb +64 -0
  86. data/lib/selenium/webdriver/devtools/v85/animation.rb +100 -0
  87. data/lib/selenium/webdriver/devtools/v85/application_cache.rb +66 -0
  88. data/lib/selenium/webdriver/devtools/v85/audits.rb +63 -0
  89. data/lib/selenium/webdriver/devtools/v85/background_service.rb +69 -0
  90. data/lib/selenium/webdriver/devtools/v85/browser.rb +125 -0
  91. data/lib/selenium/webdriver/devtools/v85/cache_storage.rb +75 -0
  92. data/lib/selenium/webdriver/devtools/v85/cast.rb +72 -0
  93. data/lib/selenium/webdriver/devtools/v85/console.rb +59 -0
  94. data/lib/selenium/webdriver/devtools/v85/css.rb +167 -0
  95. data/lib/selenium/webdriver/devtools/v85/database.rb +66 -0
  96. data/lib/selenium/webdriver/devtools/v85/debugger.rb +231 -0
  97. data/lib/selenium/webdriver/devtools/v85/device_orientation.rb +55 -0
  98. data/lib/selenium/webdriver/devtools/v85/dom.rb +322 -0
  99. data/lib/selenium/webdriver/devtools/v85/dom_debugger.rb +95 -0
  100. data/lib/selenium/webdriver/devtools/v85/dom_snapshot.rb +67 -0
  101. data/lib/selenium/webdriver/devtools/v85/dom_storage.rb +81 -0
  102. data/lib/selenium/webdriver/devtools/v85/emulation.rb +182 -0
  103. data/lib/selenium/webdriver/devtools/v85/fetch.rb +99 -0
  104. data/lib/selenium/webdriver/devtools/v85/headless_experimental.rb +63 -0
  105. data/lib/selenium/webdriver/devtools/v85/heap_profiler.rb +109 -0
  106. data/lib/selenium/webdriver/devtools/v85/indexed_db.rb +102 -0
  107. data/lib/selenium/webdriver/devtools/v85/input.rb +143 -0
  108. data/lib/selenium/webdriver/devtools/v85/inspector.rb +57 -0
  109. data/lib/selenium/webdriver/devtools/v85/io.rb +61 -0
  110. data/lib/selenium/webdriver/devtools/v85/layer_tree.rb +97 -0
  111. data/lib/selenium/webdriver/devtools/v85/log.rb +68 -0
  112. data/lib/selenium/webdriver/devtools/v85/media.rb +59 -0
  113. data/lib/selenium/webdriver/devtools/v85/memory.rb +88 -0
  114. data/lib/selenium/webdriver/devtools/v85/network.rb +230 -0
  115. data/lib/selenium/webdriver/devtools/v85/overlay.rb +160 -0
  116. data/lib/selenium/webdriver/devtools/v85/page.rb +376 -0
  117. data/lib/selenium/webdriver/devtools/v85/performance.rb +65 -0
  118. data/lib/selenium/webdriver/devtools/v85/profiler.rb +113 -0
  119. data/lib/selenium/webdriver/devtools/v85/runtime.rb +196 -0
  120. data/lib/selenium/webdriver/devtools/v85/schema.rb +48 -0
  121. data/lib/selenium/webdriver/devtools/v85/security.rb +73 -0
  122. data/lib/selenium/webdriver/devtools/v85/service_worker.rb +118 -0
  123. data/lib/selenium/webdriver/devtools/v85/storage.rb +97 -0
  124. data/lib/selenium/webdriver/devtools/v85/system_info.rb +52 -0
  125. data/lib/selenium/webdriver/devtools/v85/target.rb +145 -0
  126. data/lib/selenium/webdriver/devtools/v85/tethering.rb +57 -0
  127. data/lib/selenium/webdriver/devtools/v85/tracing.rb +78 -0
  128. data/lib/selenium/webdriver/devtools/v85/web_audio.rb +72 -0
  129. data/lib/selenium/webdriver/devtools/v85/web_authn.rb +96 -0
  130. data/lib/selenium/webdriver/devtools/v86/accessibility.rb +64 -0
  131. data/lib/selenium/webdriver/devtools/v86/animation.rb +100 -0
  132. data/lib/selenium/webdriver/devtools/v86/application_cache.rb +66 -0
  133. data/lib/selenium/webdriver/devtools/v86/audits.rb +63 -0
  134. data/lib/selenium/webdriver/devtools/v86/background_service.rb +69 -0
  135. data/lib/selenium/webdriver/devtools/v86/browser.rb +125 -0
  136. data/lib/selenium/webdriver/devtools/v86/cache_storage.rb +75 -0
  137. data/lib/selenium/webdriver/devtools/v86/cast.rb +72 -0
  138. data/lib/selenium/webdriver/devtools/v86/console.rb +59 -0
  139. data/lib/selenium/webdriver/devtools/v86/css.rb +181 -0
  140. data/lib/selenium/webdriver/devtools/v86/database.rb +66 -0
  141. data/lib/selenium/webdriver/devtools/v86/debugger.rb +233 -0
  142. data/lib/selenium/webdriver/devtools/v86/device_orientation.rb +55 -0
  143. data/lib/selenium/webdriver/devtools/v86/dom.rb +329 -0
  144. data/lib/selenium/webdriver/devtools/v86/dom_debugger.rb +95 -0
  145. data/lib/selenium/webdriver/devtools/v86/dom_snapshot.rb +67 -0
  146. data/lib/selenium/webdriver/devtools/v86/dom_storage.rb +81 -0
  147. data/lib/selenium/webdriver/devtools/v86/emulation.rb +193 -0
  148. data/lib/selenium/webdriver/devtools/v86/fetch.rb +99 -0
  149. data/lib/selenium/webdriver/devtools/v86/headless_experimental.rb +63 -0
  150. data/lib/selenium/webdriver/devtools/v86/heap_profiler.rb +109 -0
  151. data/lib/selenium/webdriver/devtools/v86/indexed_db.rb +102 -0
  152. data/lib/selenium/webdriver/devtools/v86/input.rb +143 -0
  153. data/lib/selenium/webdriver/devtools/v86/inspector.rb +57 -0
  154. data/lib/selenium/webdriver/devtools/v86/io.rb +61 -0
  155. data/lib/selenium/webdriver/devtools/v86/layer_tree.rb +97 -0
  156. data/lib/selenium/webdriver/devtools/v86/log.rb +68 -0
  157. data/lib/selenium/webdriver/devtools/v86/media.rb +59 -0
  158. data/lib/selenium/webdriver/devtools/v86/memory.rb +88 -0
  159. data/lib/selenium/webdriver/devtools/v86/network.rb +235 -0
  160. data/lib/selenium/webdriver/devtools/v86/overlay.rb +183 -0
  161. data/lib/selenium/webdriver/devtools/v86/page.rb +376 -0
  162. data/lib/selenium/webdriver/devtools/v86/performance.rb +65 -0
  163. data/lib/selenium/webdriver/devtools/v86/profiler.rb +113 -0
  164. data/lib/selenium/webdriver/devtools/v86/runtime.rb +196 -0
  165. data/lib/selenium/webdriver/devtools/v86/schema.rb +48 -0
  166. data/lib/selenium/webdriver/devtools/v86/security.rb +73 -0
  167. data/lib/selenium/webdriver/devtools/v86/service_worker.rb +118 -0
  168. data/lib/selenium/webdriver/devtools/v86/storage.rb +97 -0
  169. data/lib/selenium/webdriver/devtools/v86/system_info.rb +52 -0
  170. data/lib/selenium/webdriver/devtools/v86/target.rb +145 -0
  171. data/lib/selenium/webdriver/devtools/v86/tethering.rb +57 -0
  172. data/lib/selenium/webdriver/devtools/v86/tracing.rb +78 -0
  173. data/lib/selenium/webdriver/devtools/v86/web_audio.rb +72 -0
  174. data/lib/selenium/webdriver/devtools/v86/web_authn.rb +102 -0
  175. data/lib/selenium/webdriver/devtools/v87/accessibility.rb +73 -0
  176. data/lib/selenium/webdriver/devtools/v87/animation.rb +100 -0
  177. data/lib/selenium/webdriver/devtools/v87/application_cache.rb +66 -0
  178. data/lib/selenium/webdriver/devtools/v87/audits.rb +63 -0
  179. data/lib/selenium/webdriver/devtools/v87/background_service.rb +69 -0
  180. data/lib/selenium/webdriver/devtools/v87/browser.rb +125 -0
  181. data/lib/selenium/webdriver/devtools/v87/cache_storage.rb +75 -0
  182. data/lib/selenium/webdriver/devtools/v87/cast.rb +72 -0
  183. data/lib/selenium/webdriver/devtools/v87/console.rb +59 -0
  184. data/lib/selenium/webdriver/devtools/v87/css.rb +181 -0
  185. data/lib/selenium/webdriver/devtools/v87/database.rb +66 -0
  186. data/lib/selenium/webdriver/devtools/v87/debugger.rb +233 -0
  187. data/lib/selenium/webdriver/devtools/v87/device_orientation.rb +55 -0
  188. data/lib/selenium/webdriver/devtools/v87/dom.rb +329 -0
  189. data/lib/selenium/webdriver/devtools/v87/dom_debugger.rb +95 -0
  190. data/lib/selenium/webdriver/devtools/v87/dom_snapshot.rb +67 -0
  191. data/lib/selenium/webdriver/devtools/v87/dom_storage.rb +81 -0
  192. data/lib/selenium/webdriver/devtools/v87/emulation.rb +193 -0
  193. data/lib/selenium/webdriver/devtools/v87/fetch.rb +99 -0
  194. data/lib/selenium/webdriver/devtools/v87/headless_experimental.rb +63 -0
  195. data/lib/selenium/webdriver/devtools/v87/heap_profiler.rb +109 -0
  196. data/lib/selenium/webdriver/devtools/v87/indexed_db.rb +102 -0
  197. data/lib/selenium/webdriver/devtools/v87/input.rb +143 -0
  198. data/lib/selenium/webdriver/devtools/v87/inspector.rb +57 -0
  199. data/lib/selenium/webdriver/devtools/v87/io.rb +61 -0
  200. data/lib/selenium/webdriver/devtools/v87/layer_tree.rb +97 -0
  201. data/lib/selenium/webdriver/devtools/v87/log.rb +68 -0
  202. data/lib/selenium/webdriver/devtools/v87/media.rb +59 -0
  203. data/lib/selenium/webdriver/devtools/v87/memory.rb +88 -0
  204. data/lib/selenium/webdriver/devtools/v87/network.rb +247 -0
  205. data/lib/selenium/webdriver/devtools/v87/overlay.rb +183 -0
  206. data/lib/selenium/webdriver/devtools/v87/page.rb +376 -0
  207. data/lib/selenium/webdriver/devtools/v87/performance.rb +65 -0
  208. data/lib/selenium/webdriver/devtools/v87/profiler.rb +125 -0
  209. data/lib/selenium/webdriver/devtools/v87/runtime.rb +196 -0
  210. data/lib/selenium/webdriver/devtools/v87/schema.rb +48 -0
  211. data/lib/selenium/webdriver/devtools/v87/security.rb +73 -0
  212. data/lib/selenium/webdriver/devtools/v87/service_worker.rb +118 -0
  213. data/lib/selenium/webdriver/devtools/v87/storage.rb +97 -0
  214. data/lib/selenium/webdriver/devtools/v87/system_info.rb +52 -0
  215. data/lib/selenium/webdriver/devtools/v87/target.rb +145 -0
  216. data/lib/selenium/webdriver/devtools/v87/tethering.rb +57 -0
  217. data/lib/selenium/webdriver/devtools/v87/tracing.rb +78 -0
  218. data/lib/selenium/webdriver/devtools/v87/web_audio.rb +72 -0
  219. data/lib/selenium/webdriver/devtools/v87/web_authn.rb +102 -0
  220. data/lib/selenium/webdriver/edge.rb +29 -9
  221. data/lib/selenium/webdriver/edge_chrome/bridge.rb +37 -0
  222. data/lib/selenium/webdriver/edge_chrome/driver.rb +48 -0
  223. data/lib/selenium/webdriver/edge_chrome/options.rb +37 -0
  224. data/lib/selenium/webdriver/edge_chrome/profile.rb +33 -0
  225. data/lib/selenium/webdriver/edge_chrome/service.rb +36 -0
  226. data/lib/selenium/webdriver/{edge → edge_html}/driver.rb +3 -35
  227. data/lib/selenium/webdriver/{edge → edge_html}/options.rb +26 -22
  228. data/lib/selenium/webdriver/{edge → edge_html}/service.rb +2 -6
  229. data/lib/selenium/webdriver/firefox.rb +18 -15
  230. data/lib/selenium/webdriver/firefox/bridge.rb +1 -1
  231. data/lib/selenium/webdriver/firefox/driver.rb +2 -31
  232. data/lib/selenium/webdriver/firefox/extension.rb +8 -0
  233. data/lib/selenium/webdriver/firefox/options.rb +47 -52
  234. data/lib/selenium/webdriver/firefox/profile.rb +7 -78
  235. data/lib/selenium/webdriver/firefox/service.rb +0 -4
  236. data/lib/selenium/webdriver/ie.rb +8 -7
  237. data/lib/selenium/webdriver/ie/driver.rb +0 -33
  238. data/lib/selenium/webdriver/ie/options.rb +10 -33
  239. data/lib/selenium/webdriver/ie/service.rb +5 -9
  240. data/lib/selenium/webdriver/remote.rb +16 -10
  241. data/lib/selenium/webdriver/remote/bridge.rb +38 -42
  242. data/lib/selenium/webdriver/remote/capabilities.rb +25 -7
  243. data/lib/selenium/webdriver/remote/driver.rb +6 -13
  244. data/lib/selenium/webdriver/remote/http/default.rb +10 -6
  245. data/lib/selenium/webdriver/remote/http/persistent.rb +5 -6
  246. data/lib/selenium/webdriver/safari.rb +16 -8
  247. data/lib/selenium/webdriver/safari/bridge.rb +4 -4
  248. data/lib/selenium/webdriver/safari/driver.rb +3 -30
  249. data/lib/selenium/webdriver/safari/options.rb +18 -19
  250. data/lib/selenium/webdriver/safari/service.rb +0 -4
  251. data/lib/selenium/webdriver/support.rb +1 -0
  252. data/lib/selenium/webdriver/support/color.rb +2 -2
  253. data/lib/selenium/webdriver/support/event_firing_bridge.rb +1 -1
  254. data/lib/selenium/webdriver/support/relative_locator.rb +51 -0
  255. data/lib/selenium/webdriver/version.rb +1 -1
  256. data/selenium-webdriver.gemspec +7 -6
  257. metadata +225 -21
  258. data/lib/selenium/webdriver/firefox/binary.rb +0 -110
  259. data/lib/selenium/webdriver/firefox/extension/prefs.json +0 -69
@@ -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