selenium-devtools 0.0.1.alpha → 0.0.2.alpha

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 (233) hide show
  1. checksums.yaml +4 -4
  2. data/lib/selenium/devtools/v84.rb +1 -0
  3. data/lib/selenium/devtools/v84/accessibility.rb +56 -0
  4. data/lib/selenium/devtools/v84/animation.rb +92 -0
  5. data/lib/selenium/devtools/v84/application_cache.rb +58 -0
  6. data/lib/selenium/devtools/v84/audits.rb +55 -0
  7. data/lib/selenium/devtools/v84/background_service.rb +61 -0
  8. data/lib/selenium/devtools/v84/browser.rb +117 -0
  9. data/lib/selenium/devtools/v84/cache_storage.rb +67 -0
  10. data/lib/selenium/devtools/v84/cast.rb +64 -0
  11. data/lib/selenium/devtools/v84/console.rb +51 -0
  12. data/lib/selenium/devtools/v84/css.rb +159 -0
  13. data/lib/selenium/devtools/v84/database.rb +58 -0
  14. data/lib/selenium/devtools/v84/debugger.rb +223 -0
  15. data/lib/selenium/devtools/v84/device_orientation.rb +47 -0
  16. data/lib/selenium/devtools/v84/dom.rb +314 -0
  17. data/lib/selenium/devtools/v84/dom_debugger.rb +87 -0
  18. data/lib/selenium/devtools/v84/dom_snapshot.rb +59 -0
  19. data/lib/selenium/devtools/v84/dom_storage.rb +73 -0
  20. data/lib/selenium/devtools/v84/emulation.rb +174 -0
  21. data/lib/selenium/devtools/v84/fetch.rb +91 -0
  22. data/lib/selenium/devtools/v84/headless_experimental.rb +55 -0
  23. data/lib/selenium/devtools/v84/heap_profiler.rb +101 -0
  24. data/lib/selenium/devtools/v84/indexed_db.rb +94 -0
  25. data/lib/selenium/devtools/v84/input.rb +134 -0
  26. data/lib/selenium/devtools/v84/inspector.rb +49 -0
  27. data/lib/selenium/devtools/v84/io.rb +53 -0
  28. data/lib/selenium/devtools/v84/layer_tree.rb +89 -0
  29. data/lib/selenium/devtools/v84/log.rb +60 -0
  30. data/lib/selenium/devtools/v84/media.rb +51 -0
  31. data/lib/selenium/devtools/v84/memory.rb +80 -0
  32. data/lib/selenium/devtools/v84/network.rb +222 -0
  33. data/lib/selenium/devtools/v84/overlay.rb +151 -0
  34. data/lib/selenium/devtools/v84/page.rb +368 -0
  35. data/lib/selenium/devtools/v84/performance.rb +57 -0
  36. data/lib/selenium/devtools/v84/profiler.rb +105 -0
  37. data/lib/selenium/devtools/v84/runtime.rb +187 -0
  38. data/lib/selenium/devtools/v84/schema.rb +40 -0
  39. data/lib/selenium/devtools/v84/security.rb +65 -0
  40. data/lib/selenium/devtools/v84/service_worker.rb +110 -0
  41. data/lib/selenium/devtools/v84/storage.rb +89 -0
  42. data/lib/selenium/devtools/v84/system_info.rb +44 -0
  43. data/lib/selenium/devtools/v84/target.rb +135 -0
  44. data/lib/selenium/devtools/v84/tethering.rb +49 -0
  45. data/lib/selenium/devtools/v84/tracing.rb +70 -0
  46. data/lib/selenium/devtools/v84/web_audio.rb +64 -0
  47. data/lib/selenium/devtools/v84/web_authn.rb +88 -0
  48. data/lib/selenium/devtools/v85.rb +1 -0
  49. data/lib/selenium/devtools/v85/accessibility.rb +56 -0
  50. data/lib/selenium/devtools/v85/animation.rb +92 -0
  51. data/lib/selenium/devtools/v85/application_cache.rb +58 -0
  52. data/lib/selenium/devtools/v85/audits.rb +55 -0
  53. data/lib/selenium/devtools/v85/background_service.rb +61 -0
  54. data/lib/selenium/devtools/v85/browser.rb +117 -0
  55. data/lib/selenium/devtools/v85/cache_storage.rb +67 -0
  56. data/lib/selenium/devtools/v85/cast.rb +64 -0
  57. data/lib/selenium/devtools/v85/console.rb +51 -0
  58. data/lib/selenium/devtools/v85/css.rb +159 -0
  59. data/lib/selenium/devtools/v85/database.rb +58 -0
  60. data/lib/selenium/devtools/v85/debugger.rb +223 -0
  61. data/lib/selenium/devtools/v85/device_orientation.rb +47 -0
  62. data/lib/selenium/devtools/v85/dom.rb +314 -0
  63. data/lib/selenium/devtools/v85/dom_debugger.rb +87 -0
  64. data/lib/selenium/devtools/v85/dom_snapshot.rb +59 -0
  65. data/lib/selenium/devtools/v85/dom_storage.rb +73 -0
  66. data/lib/selenium/devtools/v85/emulation.rb +174 -0
  67. data/lib/selenium/devtools/v85/fetch.rb +91 -0
  68. data/lib/selenium/devtools/v85/headless_experimental.rb +55 -0
  69. data/lib/selenium/devtools/v85/heap_profiler.rb +101 -0
  70. data/lib/selenium/devtools/v85/indexed_db.rb +94 -0
  71. data/lib/selenium/devtools/v85/input.rb +135 -0
  72. data/lib/selenium/devtools/v85/inspector.rb +49 -0
  73. data/lib/selenium/devtools/v85/io.rb +53 -0
  74. data/lib/selenium/devtools/v85/layer_tree.rb +89 -0
  75. data/lib/selenium/devtools/v85/log.rb +60 -0
  76. data/lib/selenium/devtools/v85/media.rb +51 -0
  77. data/lib/selenium/devtools/v85/memory.rb +80 -0
  78. data/lib/selenium/devtools/v85/network.rb +222 -0
  79. data/lib/selenium/devtools/v85/overlay.rb +152 -0
  80. data/lib/selenium/devtools/v85/page.rb +368 -0
  81. data/lib/selenium/devtools/v85/performance.rb +57 -0
  82. data/lib/selenium/devtools/v85/profiler.rb +105 -0
  83. data/lib/selenium/devtools/v85/runtime.rb +188 -0
  84. data/lib/selenium/devtools/v85/schema.rb +40 -0
  85. data/lib/selenium/devtools/v85/security.rb +65 -0
  86. data/lib/selenium/devtools/v85/service_worker.rb +110 -0
  87. data/lib/selenium/devtools/v85/storage.rb +89 -0
  88. data/lib/selenium/devtools/v85/system_info.rb +44 -0
  89. data/lib/selenium/devtools/v85/target.rb +137 -0
  90. data/lib/selenium/devtools/v85/tethering.rb +49 -0
  91. data/lib/selenium/devtools/v85/tracing.rb +70 -0
  92. data/lib/selenium/devtools/v85/web_audio.rb +64 -0
  93. data/lib/selenium/devtools/v85/web_authn.rb +88 -0
  94. data/lib/selenium/devtools/v86.rb +1 -0
  95. data/lib/selenium/devtools/v86/accessibility.rb +56 -0
  96. data/lib/selenium/devtools/v86/animation.rb +92 -0
  97. data/lib/selenium/devtools/v86/application_cache.rb +58 -0
  98. data/lib/selenium/devtools/v86/audits.rb +55 -0
  99. data/lib/selenium/devtools/v86/background_service.rb +61 -0
  100. data/lib/selenium/devtools/v86/browser.rb +117 -0
  101. data/lib/selenium/devtools/v86/cache_storage.rb +67 -0
  102. data/lib/selenium/devtools/v86/cast.rb +64 -0
  103. data/lib/selenium/devtools/v86/console.rb +51 -0
  104. data/lib/selenium/devtools/v86/css.rb +173 -0
  105. data/lib/selenium/devtools/v86/database.rb +58 -0
  106. data/lib/selenium/devtools/v86/debugger.rb +225 -0
  107. data/lib/selenium/devtools/v86/device_orientation.rb +47 -0
  108. data/lib/selenium/devtools/v86/dom.rb +321 -0
  109. data/lib/selenium/devtools/v86/dom_debugger.rb +87 -0
  110. data/lib/selenium/devtools/v86/dom_snapshot.rb +59 -0
  111. data/lib/selenium/devtools/v86/dom_storage.rb +73 -0
  112. data/lib/selenium/devtools/v86/emulation.rb +185 -0
  113. data/lib/selenium/devtools/v86/fetch.rb +91 -0
  114. data/lib/selenium/devtools/v86/headless_experimental.rb +55 -0
  115. data/lib/selenium/devtools/v86/heap_profiler.rb +101 -0
  116. data/lib/selenium/devtools/v86/indexed_db.rb +94 -0
  117. data/lib/selenium/devtools/v86/input.rb +135 -0
  118. data/lib/selenium/devtools/v86/inspector.rb +49 -0
  119. data/lib/selenium/devtools/v86/io.rb +53 -0
  120. data/lib/selenium/devtools/v86/layer_tree.rb +89 -0
  121. data/lib/selenium/devtools/v86/log.rb +60 -0
  122. data/lib/selenium/devtools/v86/media.rb +51 -0
  123. data/lib/selenium/devtools/v86/memory.rb +80 -0
  124. data/lib/selenium/devtools/v86/network.rb +227 -0
  125. data/lib/selenium/devtools/v86/overlay.rb +175 -0
  126. data/lib/selenium/devtools/v86/page.rb +368 -0
  127. data/lib/selenium/devtools/v86/performance.rb +57 -0
  128. data/lib/selenium/devtools/v86/profiler.rb +105 -0
  129. data/lib/selenium/devtools/v86/runtime.rb +188 -0
  130. data/lib/selenium/devtools/v86/schema.rb +40 -0
  131. data/lib/selenium/devtools/v86/security.rb +65 -0
  132. data/lib/selenium/devtools/v86/service_worker.rb +110 -0
  133. data/lib/selenium/devtools/v86/storage.rb +89 -0
  134. data/lib/selenium/devtools/v86/system_info.rb +44 -0
  135. data/lib/selenium/devtools/v86/target.rb +137 -0
  136. data/lib/selenium/devtools/v86/tethering.rb +49 -0
  137. data/lib/selenium/devtools/v86/tracing.rb +70 -0
  138. data/lib/selenium/devtools/v86/web_audio.rb +64 -0
  139. data/lib/selenium/devtools/v86/web_authn.rb +94 -0
  140. data/lib/selenium/devtools/v87.rb +1 -0
  141. data/lib/selenium/devtools/v87/accessibility.rb +65 -0
  142. data/lib/selenium/devtools/v87/animation.rb +92 -0
  143. data/lib/selenium/devtools/v87/application_cache.rb +58 -0
  144. data/lib/selenium/devtools/v87/audits.rb +55 -0
  145. data/lib/selenium/devtools/v87/background_service.rb +61 -0
  146. data/lib/selenium/devtools/v87/browser.rb +117 -0
  147. data/lib/selenium/devtools/v87/cache_storage.rb +67 -0
  148. data/lib/selenium/devtools/v87/cast.rb +64 -0
  149. data/lib/selenium/devtools/v87/console.rb +51 -0
  150. data/lib/selenium/devtools/v87/css.rb +173 -0
  151. data/lib/selenium/devtools/v87/database.rb +58 -0
  152. data/lib/selenium/devtools/v87/debugger.rb +225 -0
  153. data/lib/selenium/devtools/v87/device_orientation.rb +47 -0
  154. data/lib/selenium/devtools/v87/dom.rb +321 -0
  155. data/lib/selenium/devtools/v87/dom_debugger.rb +87 -0
  156. data/lib/selenium/devtools/v87/dom_snapshot.rb +59 -0
  157. data/lib/selenium/devtools/v87/dom_storage.rb +73 -0
  158. data/lib/selenium/devtools/v87/emulation.rb +185 -0
  159. data/lib/selenium/devtools/v87/fetch.rb +91 -0
  160. data/lib/selenium/devtools/v87/headless_experimental.rb +55 -0
  161. data/lib/selenium/devtools/v87/heap_profiler.rb +101 -0
  162. data/lib/selenium/devtools/v87/indexed_db.rb +94 -0
  163. data/lib/selenium/devtools/v87/input.rb +135 -0
  164. data/lib/selenium/devtools/v87/inspector.rb +49 -0
  165. data/lib/selenium/devtools/v87/io.rb +53 -0
  166. data/lib/selenium/devtools/v87/layer_tree.rb +89 -0
  167. data/lib/selenium/devtools/v87/log.rb +60 -0
  168. data/lib/selenium/devtools/v87/media.rb +51 -0
  169. data/lib/selenium/devtools/v87/memory.rb +80 -0
  170. data/lib/selenium/devtools/v87/network.rb +239 -0
  171. data/lib/selenium/devtools/v87/overlay.rb +175 -0
  172. data/lib/selenium/devtools/v87/page.rb +368 -0
  173. data/lib/selenium/devtools/v87/performance.rb +57 -0
  174. data/lib/selenium/devtools/v87/profiler.rb +117 -0
  175. data/lib/selenium/devtools/v87/runtime.rb +188 -0
  176. data/lib/selenium/devtools/v87/schema.rb +40 -0
  177. data/lib/selenium/devtools/v87/security.rb +65 -0
  178. data/lib/selenium/devtools/v87/service_worker.rb +110 -0
  179. data/lib/selenium/devtools/v87/storage.rb +89 -0
  180. data/lib/selenium/devtools/v87/system_info.rb +44 -0
  181. data/lib/selenium/devtools/v87/target.rb +137 -0
  182. data/lib/selenium/devtools/v87/tethering.rb +49 -0
  183. data/lib/selenium/devtools/v87/tracing.rb +70 -0
  184. data/lib/selenium/devtools/v87/web_audio.rb +64 -0
  185. data/lib/selenium/devtools/v87/web_authn.rb +94 -0
  186. data/lib/selenium/devtools/v88.rb +1 -1
  187. data/lib/selenium/devtools/v88/accessibility.rb +35 -43
  188. data/lib/selenium/devtools/v88/animation.rb +57 -65
  189. data/lib/selenium/devtools/v88/application_cache.rb +29 -37
  190. data/lib/selenium/devtools/v88/audits.rb +31 -39
  191. data/lib/selenium/devtools/v88/background_service.rb +32 -40
  192. data/lib/selenium/devtools/v88/browser.rb +100 -108
  193. data/lib/selenium/devtools/v88/cache_storage.rb +37 -45
  194. data/lib/selenium/devtools/v88/cast.rb +34 -42
  195. data/lib/selenium/devtools/v88/console.rb +27 -35
  196. data/lib/selenium/devtools/v88/css.rb +151 -159
  197. data/lib/selenium/devtools/v88/database.rb +29 -37
  198. data/lib/selenium/devtools/v88/debugger.rb +203 -211
  199. data/lib/selenium/devtools/v88/device_orientation.rb +20 -28
  200. data/lib/selenium/devtools/v88/dom.rb +299 -307
  201. data/lib/selenium/devtools/v88/dom_debugger.rb +53 -61
  202. data/lib/selenium/devtools/v88/dom_snapshot.rb +30 -38
  203. data/lib/selenium/devtools/v88/dom_storage.rb +42 -50
  204. data/lib/selenium/devtools/v88/emulation.rb +168 -176
  205. data/lib/selenium/devtools/v88/fetch.rb +58 -66
  206. data/lib/selenium/devtools/v88/headless_experimental.rb +31 -39
  207. data/lib/selenium/devtools/v88/heap_profiler.rb +77 -85
  208. data/lib/selenium/devtools/v88/indexed_db.rb +60 -68
  209. data/lib/selenium/devtools/v88/input.rb +106 -114
  210. data/lib/selenium/devtools/v88/inspector.rb +22 -30
  211. data/lib/selenium/devtools/v88/io.rb +29 -37
  212. data/lib/selenium/devtools/v88/layer_tree.rb +55 -63
  213. data/lib/selenium/devtools/v88/log.rb +30 -38
  214. data/lib/selenium/devtools/v88/media.rb +24 -32
  215. data/lib/selenium/devtools/v88/memory.rb +45 -53
  216. data/lib/selenium/devtools/v88/network.rb +217 -225
  217. data/lib/selenium/devtools/v88/overlay.rb +153 -161
  218. data/lib/selenium/devtools/v88/page.rb +346 -354
  219. data/lib/selenium/devtools/v88/performance.rb +28 -36
  220. data/lib/selenium/devtools/v88/profiler.rb +95 -103
  221. data/lib/selenium/devtools/v88/runtime.rb +167 -175
  222. data/lib/selenium/devtools/v88/schema.rb +14 -22
  223. data/lib/selenium/devtools/v88/security.rb +35 -43
  224. data/lib/selenium/devtools/v88/service_worker.rb +86 -94
  225. data/lib/selenium/devtools/v88/storage.rb +60 -68
  226. data/lib/selenium/devtools/v88/system_info.rb +17 -25
  227. data/lib/selenium/devtools/v88/target.rb +115 -123
  228. data/lib/selenium/devtools/v88/tethering.rb +22 -30
  229. data/lib/selenium/devtools/v88/tracing.rb +41 -49
  230. data/lib/selenium/devtools/v88/web_audio.rb +36 -44
  231. data/lib/selenium/devtools/v88/web_authn.rb +70 -78
  232. data/lib/selenium/devtools/version.rb +1 -1
  233. metadata +185 -1
@@ -19,37 +19,29 @@
19
19
 
20
20
  # This file is automatically generated. Any changes will be lost!
21
21
  module Selenium
22
- module WebDriver
23
- class DevTools
24
- def device_orientation
25
- @device_orientation ||= V88::DeviceOrientation.new(self)
26
- end
27
-
28
- module V88
29
- class DeviceOrientation
22
+ module DevTools
23
+ class DeviceOrientation
30
24
 
31
- def initialize(devtools)
32
- @devtools = devtools
33
- end
25
+ def initialize(devtools)
26
+ @devtools = devtools
27
+ end
34
28
 
35
- def on(event, &block)
36
- event = EVENTS[event] if event.is_a?(Symbol)
37
- @devtools.callbacks["DeviceOrientation.#{event}"] << block
38
- end
29
+ def on(event, &block)
30
+ event = EVENTS[event] if event.is_a?(Symbol)
31
+ @devtools.callbacks["DeviceOrientation.#{event}"] << block
32
+ end
39
33
 
40
- def clear_device_orientation_override
41
- @devtools.send_cmd('DeviceOrientation.clearDeviceOrientationOverride')
42
- end
34
+ def clear_device_orientation_override
35
+ @devtools.send_cmd('DeviceOrientation.clearDeviceOrientationOverride')
36
+ end
43
37
 
44
- def set_device_orientation_override(alpha:, beta:, gamma:)
45
- @devtools.send_cmd('DeviceOrientation.setDeviceOrientationOverride',
46
- alpha: alpha,
47
- beta: beta,
48
- gamma: gamma)
49
- end
38
+ def set_device_orientation_override(alpha:, beta:, gamma:)
39
+ @devtools.send_cmd('DeviceOrientation.setDeviceOrientationOverride',
40
+ alpha: alpha,
41
+ beta: beta,
42
+ gamma: gamma)
43
+ end
50
44
 
51
- end # V88
52
- end # DeviceOrientation
53
- end # DevTools
54
- end # WebDriver
45
+ end # DeviceOrientation
46
+ end # DevTools
55
47
  end # Selenium
@@ -19,311 +19,303 @@
19
19
 
20
20
  # This file is automatically generated. Any changes will be lost!
21
21
  module Selenium
22
- module WebDriver
23
- class DevTools
24
- def dom
25
- @dom ||= V88::DOM.new(self)
26
- end
27
-
28
- module V88
29
- class DOM
30
- EVENTS = {
31
- attribute_modified: 'attributeModified',
32
- attribute_removed: 'attributeRemoved',
33
- character_data_modified: 'characterDataModified',
34
- child_node_count_updated: 'childNodeCountUpdated',
35
- child_node_inserted: 'childNodeInserted',
36
- child_node_removed: 'childNodeRemoved',
37
- distributed_nodes_updated: 'distributedNodesUpdated',
38
- document_updated: 'documentUpdated',
39
- inline_style_invalidated: 'inlineStyleInvalidated',
40
- pseudo_element_added: 'pseudoElementAdded',
41
- pseudo_element_removed: 'pseudoElementRemoved',
42
- set_child_nodes: 'setChildNodes',
43
- shadow_root_popped: 'shadowRootPopped',
44
- shadow_root_pushed: 'shadowRootPushed',
45
- }.freeze
46
-
47
- def initialize(devtools)
48
- @devtools = devtools
49
- end
50
-
51
- def on(event, &block)
52
- event = EVENTS[event] if event.is_a?(Symbol)
53
- @devtools.callbacks["DOM.#{event}"] << block
54
- end
55
-
56
- def collect_class_names_from_subtree(node_id:)
57
- @devtools.send_cmd('DOM.collectClassNamesFromSubtree',
58
- nodeId: node_id)
59
- end
60
-
61
- def copy_to(node_id:, target_node_id:, insert_before_node_id: nil)
62
- @devtools.send_cmd('DOM.copyTo',
63
- nodeId: node_id,
64
- targetNodeId: target_node_id,
65
- insertBeforeNodeId: insert_before_node_id)
66
- end
67
-
68
- def describe_node(node_id: nil, backend_node_id: nil, object_id: nil, depth: nil, pierce: nil)
69
- @devtools.send_cmd('DOM.describeNode',
70
- nodeId: node_id,
71
- backendNodeId: backend_node_id,
72
- objectId: object_id,
73
- depth: depth,
74
- pierce: pierce)
75
- end
76
-
77
- def scroll_into_view_if_needed(node_id: nil, backend_node_id: nil, object_id: nil, rect: nil)
78
- @devtools.send_cmd('DOM.scrollIntoViewIfNeeded',
79
- nodeId: node_id,
80
- backendNodeId: backend_node_id,
81
- objectId: object_id,
82
- rect: rect)
83
- end
84
-
85
- def disable
86
- @devtools.send_cmd('DOM.disable')
87
- end
88
-
89
- def discard_search_results(search_id:)
90
- @devtools.send_cmd('DOM.discardSearchResults',
91
- searchId: search_id)
92
- end
93
-
94
- def enable
95
- @devtools.send_cmd('DOM.enable')
96
- end
97
-
98
- def focus(node_id: nil, backend_node_id: nil, object_id: nil)
99
- @devtools.send_cmd('DOM.focus',
100
- nodeId: node_id,
101
- backendNodeId: backend_node_id,
102
- objectId: object_id)
103
- end
104
-
105
- def get_attributes(node_id:)
106
- @devtools.send_cmd('DOM.getAttributes',
107
- nodeId: node_id)
108
- end
109
-
110
- def get_box_model(node_id: nil, backend_node_id: nil, object_id: nil)
111
- @devtools.send_cmd('DOM.getBoxModel',
112
- nodeId: node_id,
113
- backendNodeId: backend_node_id,
114
- objectId: object_id)
115
- end
116
-
117
- def get_content_quads(node_id: nil, backend_node_id: nil, object_id: nil)
118
- @devtools.send_cmd('DOM.getContentQuads',
119
- nodeId: node_id,
120
- backendNodeId: backend_node_id,
121
- objectId: object_id)
122
- end
123
-
124
- def get_document(depth: nil, pierce: nil)
125
- @devtools.send_cmd('DOM.getDocument',
126
- depth: depth,
127
- pierce: pierce)
128
- end
129
-
130
- def get_flattened_document(depth: nil, pierce: nil)
131
- @devtools.send_cmd('DOM.getFlattenedDocument',
132
- depth: depth,
133
- pierce: pierce)
134
- end
135
-
136
- def get_nodes_for_subtree_by_style(node_id:, computed_styles:, pierce: nil)
137
- @devtools.send_cmd('DOM.getNodesForSubtreeByStyle',
138
- nodeId: node_id,
139
- computedStyles: computed_styles,
140
- pierce: pierce)
141
- end
142
-
143
- def get_node_for_location(x:, y:, include_user_agent_shadow_dom: nil, ignore_pointer_events_none: nil)
144
- @devtools.send_cmd('DOM.getNodeForLocation',
145
- x: x,
146
- y: y,
147
- includeUserAgentShadowDOM: include_user_agent_shadow_dom,
148
- ignorePointerEventsNone: ignore_pointer_events_none)
149
- end
150
-
151
- def get_outer_html(node_id: nil, backend_node_id: nil, object_id: nil)
152
- @devtools.send_cmd('DOM.getOuterHTML',
153
- nodeId: node_id,
154
- backendNodeId: backend_node_id,
155
- objectId: object_id)
156
- end
157
-
158
- def get_relayout_boundary(node_id:)
159
- @devtools.send_cmd('DOM.getRelayoutBoundary',
160
- nodeId: node_id)
161
- end
162
-
163
- def get_search_results(search_id:, from_index:, to_index:)
164
- @devtools.send_cmd('DOM.getSearchResults',
165
- searchId: search_id,
166
- fromIndex: from_index,
167
- toIndex: to_index)
168
- end
169
-
170
- def hide_highlight
171
- @devtools.send_cmd('DOM.hideHighlight')
172
- end
173
-
174
- def highlight_node
175
- @devtools.send_cmd('DOM.highlightNode')
176
- end
177
-
178
- def highlight_rect
179
- @devtools.send_cmd('DOM.highlightRect')
180
- end
181
-
182
- def mark_undoable_state
183
- @devtools.send_cmd('DOM.markUndoableState')
184
- end
185
-
186
- def move_to(node_id:, target_node_id:, insert_before_node_id: nil)
187
- @devtools.send_cmd('DOM.moveTo',
188
- nodeId: node_id,
189
- targetNodeId: target_node_id,
190
- insertBeforeNodeId: insert_before_node_id)
191
- end
192
-
193
- def perform_search(query:, include_user_agent_shadow_dom: nil)
194
- @devtools.send_cmd('DOM.performSearch',
195
- query: query,
196
- includeUserAgentShadowDOM: include_user_agent_shadow_dom)
197
- end
198
-
199
- def push_node_by_path_to_frontend(path:)
200
- @devtools.send_cmd('DOM.pushNodeByPathToFrontend',
201
- path: path)
202
- end
203
-
204
- def push_nodes_by_backend_ids_to_frontend(backend_node_ids:)
205
- @devtools.send_cmd('DOM.pushNodesByBackendIdsToFrontend',
206
- backendNodeIds: backend_node_ids)
207
- end
208
-
209
- def query_selector(node_id:, selector:)
210
- @devtools.send_cmd('DOM.querySelector',
211
- nodeId: node_id,
212
- selector: selector)
213
- end
214
-
215
- def query_selector_all(node_id:, selector:)
216
- @devtools.send_cmd('DOM.querySelectorAll',
217
- nodeId: node_id,
218
- selector: selector)
219
- end
220
-
221
- def redo
222
- @devtools.send_cmd('DOM.redo')
223
- end
224
-
225
- def remove_attribute(node_id:, name:)
226
- @devtools.send_cmd('DOM.removeAttribute',
227
- nodeId: node_id,
228
- name: name)
229
- end
230
-
231
- def remove_node(node_id:)
232
- @devtools.send_cmd('DOM.removeNode',
233
- nodeId: node_id)
234
- end
235
-
236
- def request_child_nodes(node_id:, depth: nil, pierce: nil)
237
- @devtools.send_cmd('DOM.requestChildNodes',
238
- nodeId: node_id,
239
- depth: depth,
240
- pierce: pierce)
241
- end
242
-
243
- def request_node(object_id:)
244
- @devtools.send_cmd('DOM.requestNode',
245
- objectId: object_id)
246
- end
247
-
248
- def resolve_node(node_id: nil, backend_node_id: nil, object_group: nil, execution_context_id: nil)
249
- @devtools.send_cmd('DOM.resolveNode',
250
- nodeId: node_id,
251
- backendNodeId: backend_node_id,
252
- objectGroup: object_group,
253
- executionContextId: execution_context_id)
254
- end
255
-
256
- def set_attribute_value(node_id:, name:, value:)
257
- @devtools.send_cmd('DOM.setAttributeValue',
258
- nodeId: node_id,
259
- name: name,
260
- value: value)
261
- end
262
-
263
- def set_attributes_as_text(node_id:, text:, name: nil)
264
- @devtools.send_cmd('DOM.setAttributesAsText',
265
- nodeId: node_id,
266
- text: text,
267
- name: name)
268
- end
269
-
270
- def set_file_input_files(files:, node_id: nil, backend_node_id: nil, object_id: nil)
271
- @devtools.send_cmd('DOM.setFileInputFiles',
272
- files: files,
273
- nodeId: node_id,
274
- backendNodeId: backend_node_id,
275
- objectId: object_id)
276
- end
277
-
278
- def set_node_stack_traces_enabled(enable:)
279
- @devtools.send_cmd('DOM.setNodeStackTracesEnabled',
280
- enable: enable)
281
- end
282
-
283
- def get_node_stack_traces(node_id:)
284
- @devtools.send_cmd('DOM.getNodeStackTraces',
285
- nodeId: node_id)
286
- end
287
-
288
- def get_file_info(object_id:)
289
- @devtools.send_cmd('DOM.getFileInfo',
290
- objectId: object_id)
291
- end
292
-
293
- def set_inspected_node(node_id:)
294
- @devtools.send_cmd('DOM.setInspectedNode',
295
- nodeId: node_id)
296
- end
297
-
298
- def set_node_name(node_id:, name:)
299
- @devtools.send_cmd('DOM.setNodeName',
300
- nodeId: node_id,
301
- name: name)
302
- end
303
-
304
- def set_node_value(node_id:, value:)
305
- @devtools.send_cmd('DOM.setNodeValue',
306
- nodeId: node_id,
307
- value: value)
308
- end
309
-
310
- def set_outer_html(node_id:, outer_html:)
311
- @devtools.send_cmd('DOM.setOuterHTML',
312
- nodeId: node_id,
313
- outerHTML: outer_html)
314
- end
315
-
316
- def undo
317
- @devtools.send_cmd('DOM.undo')
318
- end
319
-
320
- def get_frame_owner(frame_id:)
321
- @devtools.send_cmd('DOM.getFrameOwner',
322
- frameId: frame_id)
323
- end
324
-
325
- end # V88
326
- end # DOM
327
- end # DevTools
328
- end # WebDriver
22
+ module DevTools
23
+ class DOM
24
+ EVENTS = {
25
+ attribute_modified: 'attributeModified',
26
+ attribute_removed: 'attributeRemoved',
27
+ character_data_modified: 'characterDataModified',
28
+ child_node_count_updated: 'childNodeCountUpdated',
29
+ child_node_inserted: 'childNodeInserted',
30
+ child_node_removed: 'childNodeRemoved',
31
+ distributed_nodes_updated: 'distributedNodesUpdated',
32
+ document_updated: 'documentUpdated',
33
+ inline_style_invalidated: 'inlineStyleInvalidated',
34
+ pseudo_element_added: 'pseudoElementAdded',
35
+ pseudo_element_removed: 'pseudoElementRemoved',
36
+ set_child_nodes: 'setChildNodes',
37
+ shadow_root_popped: 'shadowRootPopped',
38
+ shadow_root_pushed: 'shadowRootPushed',
39
+ }.freeze
40
+
41
+ def initialize(devtools)
42
+ @devtools = devtools
43
+ end
44
+
45
+ def on(event, &block)
46
+ event = EVENTS[event] if event.is_a?(Symbol)
47
+ @devtools.callbacks["DOM.#{event}"] << block
48
+ end
49
+
50
+ def collect_class_names_from_subtree(node_id:)
51
+ @devtools.send_cmd('DOM.collectClassNamesFromSubtree',
52
+ nodeId: node_id)
53
+ end
54
+
55
+ def copy_to(node_id:, target_node_id:, insert_before_node_id: nil)
56
+ @devtools.send_cmd('DOM.copyTo',
57
+ nodeId: node_id,
58
+ targetNodeId: target_node_id,
59
+ insertBeforeNodeId: insert_before_node_id)
60
+ end
61
+
62
+ def describe_node(node_id: nil, backend_node_id: nil, object_id: nil, depth: nil, pierce: nil)
63
+ @devtools.send_cmd('DOM.describeNode',
64
+ nodeId: node_id,
65
+ backendNodeId: backend_node_id,
66
+ objectId: object_id,
67
+ depth: depth,
68
+ pierce: pierce)
69
+ end
70
+
71
+ def scroll_into_view_if_needed(node_id: nil, backend_node_id: nil, object_id: nil, rect: nil)
72
+ @devtools.send_cmd('DOM.scrollIntoViewIfNeeded',
73
+ nodeId: node_id,
74
+ backendNodeId: backend_node_id,
75
+ objectId: object_id,
76
+ rect: rect)
77
+ end
78
+
79
+ def disable
80
+ @devtools.send_cmd('DOM.disable')
81
+ end
82
+
83
+ def discard_search_results(search_id:)
84
+ @devtools.send_cmd('DOM.discardSearchResults',
85
+ searchId: search_id)
86
+ end
87
+
88
+ def enable
89
+ @devtools.send_cmd('DOM.enable')
90
+ end
91
+
92
+ def focus(node_id: nil, backend_node_id: nil, object_id: nil)
93
+ @devtools.send_cmd('DOM.focus',
94
+ nodeId: node_id,
95
+ backendNodeId: backend_node_id,
96
+ objectId: object_id)
97
+ end
98
+
99
+ def get_attributes(node_id:)
100
+ @devtools.send_cmd('DOM.getAttributes',
101
+ nodeId: node_id)
102
+ end
103
+
104
+ def get_box_model(node_id: nil, backend_node_id: nil, object_id: nil)
105
+ @devtools.send_cmd('DOM.getBoxModel',
106
+ nodeId: node_id,
107
+ backendNodeId: backend_node_id,
108
+ objectId: object_id)
109
+ end
110
+
111
+ def get_content_quads(node_id: nil, backend_node_id: nil, object_id: nil)
112
+ @devtools.send_cmd('DOM.getContentQuads',
113
+ nodeId: node_id,
114
+ backendNodeId: backend_node_id,
115
+ objectId: object_id)
116
+ end
117
+
118
+ def get_document(depth: nil, pierce: nil)
119
+ @devtools.send_cmd('DOM.getDocument',
120
+ depth: depth,
121
+ pierce: pierce)
122
+ end
123
+
124
+ def get_flattened_document(depth: nil, pierce: nil)
125
+ @devtools.send_cmd('DOM.getFlattenedDocument',
126
+ depth: depth,
127
+ pierce: pierce)
128
+ end
129
+
130
+ def get_nodes_for_subtree_by_style(node_id:, computed_styles:, pierce: nil)
131
+ @devtools.send_cmd('DOM.getNodesForSubtreeByStyle',
132
+ nodeId: node_id,
133
+ computedStyles: computed_styles,
134
+ pierce: pierce)
135
+ end
136
+
137
+ def get_node_for_location(x:, y:, include_user_agent_shadow_dom: nil, ignore_pointer_events_none: nil)
138
+ @devtools.send_cmd('DOM.getNodeForLocation',
139
+ x: x,
140
+ y: y,
141
+ includeUserAgentShadowDOM: include_user_agent_shadow_dom,
142
+ ignorePointerEventsNone: ignore_pointer_events_none)
143
+ end
144
+
145
+ def get_outer_html(node_id: nil, backend_node_id: nil, object_id: nil)
146
+ @devtools.send_cmd('DOM.getOuterHTML',
147
+ nodeId: node_id,
148
+ backendNodeId: backend_node_id,
149
+ objectId: object_id)
150
+ end
151
+
152
+ def get_relayout_boundary(node_id:)
153
+ @devtools.send_cmd('DOM.getRelayoutBoundary',
154
+ nodeId: node_id)
155
+ end
156
+
157
+ def get_search_results(search_id:, from_index:, to_index:)
158
+ @devtools.send_cmd('DOM.getSearchResults',
159
+ searchId: search_id,
160
+ fromIndex: from_index,
161
+ toIndex: to_index)
162
+ end
163
+
164
+ def hide_highlight
165
+ @devtools.send_cmd('DOM.hideHighlight')
166
+ end
167
+
168
+ def highlight_node
169
+ @devtools.send_cmd('DOM.highlightNode')
170
+ end
171
+
172
+ def highlight_rect
173
+ @devtools.send_cmd('DOM.highlightRect')
174
+ end
175
+
176
+ def mark_undoable_state
177
+ @devtools.send_cmd('DOM.markUndoableState')
178
+ end
179
+
180
+ def move_to(node_id:, target_node_id:, insert_before_node_id: nil)
181
+ @devtools.send_cmd('DOM.moveTo',
182
+ nodeId: node_id,
183
+ targetNodeId: target_node_id,
184
+ insertBeforeNodeId: insert_before_node_id)
185
+ end
186
+
187
+ def perform_search(query:, include_user_agent_shadow_dom: nil)
188
+ @devtools.send_cmd('DOM.performSearch',
189
+ query: query,
190
+ includeUserAgentShadowDOM: include_user_agent_shadow_dom)
191
+ end
192
+
193
+ def push_node_by_path_to_frontend(path:)
194
+ @devtools.send_cmd('DOM.pushNodeByPathToFrontend',
195
+ path: path)
196
+ end
197
+
198
+ def push_nodes_by_backend_ids_to_frontend(backend_node_ids:)
199
+ @devtools.send_cmd('DOM.pushNodesByBackendIdsToFrontend',
200
+ backendNodeIds: backend_node_ids)
201
+ end
202
+
203
+ def query_selector(node_id:, selector:)
204
+ @devtools.send_cmd('DOM.querySelector',
205
+ nodeId: node_id,
206
+ selector: selector)
207
+ end
208
+
209
+ def query_selector_all(node_id:, selector:)
210
+ @devtools.send_cmd('DOM.querySelectorAll',
211
+ nodeId: node_id,
212
+ selector: selector)
213
+ end
214
+
215
+ def redo
216
+ @devtools.send_cmd('DOM.redo')
217
+ end
218
+
219
+ def remove_attribute(node_id:, name:)
220
+ @devtools.send_cmd('DOM.removeAttribute',
221
+ nodeId: node_id,
222
+ name: name)
223
+ end
224
+
225
+ def remove_node(node_id:)
226
+ @devtools.send_cmd('DOM.removeNode',
227
+ nodeId: node_id)
228
+ end
229
+
230
+ def request_child_nodes(node_id:, depth: nil, pierce: nil)
231
+ @devtools.send_cmd('DOM.requestChildNodes',
232
+ nodeId: node_id,
233
+ depth: depth,
234
+ pierce: pierce)
235
+ end
236
+
237
+ def request_node(object_id:)
238
+ @devtools.send_cmd('DOM.requestNode',
239
+ objectId: object_id)
240
+ end
241
+
242
+ def resolve_node(node_id: nil, backend_node_id: nil, object_group: nil, execution_context_id: nil)
243
+ @devtools.send_cmd('DOM.resolveNode',
244
+ nodeId: node_id,
245
+ backendNodeId: backend_node_id,
246
+ objectGroup: object_group,
247
+ executionContextId: execution_context_id)
248
+ end
249
+
250
+ def set_attribute_value(node_id:, name:, value:)
251
+ @devtools.send_cmd('DOM.setAttributeValue',
252
+ nodeId: node_id,
253
+ name: name,
254
+ value: value)
255
+ end
256
+
257
+ def set_attributes_as_text(node_id:, text:, name: nil)
258
+ @devtools.send_cmd('DOM.setAttributesAsText',
259
+ nodeId: node_id,
260
+ text: text,
261
+ name: name)
262
+ end
263
+
264
+ def set_file_input_files(files:, node_id: nil, backend_node_id: nil, object_id: nil)
265
+ @devtools.send_cmd('DOM.setFileInputFiles',
266
+ files: files,
267
+ nodeId: node_id,
268
+ backendNodeId: backend_node_id,
269
+ objectId: object_id)
270
+ end
271
+
272
+ def set_node_stack_traces_enabled(enable:)
273
+ @devtools.send_cmd('DOM.setNodeStackTracesEnabled',
274
+ enable: enable)
275
+ end
276
+
277
+ def get_node_stack_traces(node_id:)
278
+ @devtools.send_cmd('DOM.getNodeStackTraces',
279
+ nodeId: node_id)
280
+ end
281
+
282
+ def get_file_info(object_id:)
283
+ @devtools.send_cmd('DOM.getFileInfo',
284
+ objectId: object_id)
285
+ end
286
+
287
+ def set_inspected_node(node_id:)
288
+ @devtools.send_cmd('DOM.setInspectedNode',
289
+ nodeId: node_id)
290
+ end
291
+
292
+ def set_node_name(node_id:, name:)
293
+ @devtools.send_cmd('DOM.setNodeName',
294
+ nodeId: node_id,
295
+ name: name)
296
+ end
297
+
298
+ def set_node_value(node_id:, value:)
299
+ @devtools.send_cmd('DOM.setNodeValue',
300
+ nodeId: node_id,
301
+ value: value)
302
+ end
303
+
304
+ def set_outer_html(node_id:, outer_html:)
305
+ @devtools.send_cmd('DOM.setOuterHTML',
306
+ nodeId: node_id,
307
+ outerHTML: outer_html)
308
+ end
309
+
310
+ def undo
311
+ @devtools.send_cmd('DOM.undo')
312
+ end
313
+
314
+ def get_frame_owner(frame_id:)
315
+ @devtools.send_cmd('DOM.getFrameOwner',
316
+ frameId: frame_id)
317
+ end
318
+
319
+ end # DOM
320
+ end # DevTools
329
321
  end # Selenium