Class: Selenium::DevTools::V145::DOM
- Inherits:
-
Object
- Object
- Selenium::DevTools::V145::DOM
- Defined in:
- lib/selenium/devtools/v145/dom.rb
Constant Summary collapse
- EVENTS =
{ attribute_modified: 'attributeModified', adopted_style_sheets_modified: 'adoptedStyleSheetsModified', attribute_removed: 'attributeRemoved', character_data_modified: 'characterDataModified', child_node_count_updated: 'childNodeCountUpdated', child_node_inserted: 'childNodeInserted', child_node_removed: 'childNodeRemoved', distributed_nodes_updated: 'distributedNodesUpdated', document_updated: 'documentUpdated', inline_style_invalidated: 'inlineStyleInvalidated', pseudo_element_added: 'pseudoElementAdded', top_layer_elements_updated: 'topLayerElementsUpdated', scrollable_flag_updated: 'scrollableFlagUpdated', affected_by_starting_styles_flag_updated: 'affectedByStartingStylesFlagUpdated', pseudo_element_removed: 'pseudoElementRemoved', set_child_nodes: 'setChildNodes', shadow_root_popped: 'shadowRootPopped', shadow_root_pushed: 'shadowRootPushed', }.freeze
Instance Method Summary collapse
- #collect_class_names_from_subtree(node_id:) ⇒ Object
- #copy_to(node_id:, target_node_id:, insert_before_node_id: nil) ⇒ Object
- #describe_node(node_id: nil, backend_node_id: nil, object_id: nil, depth: nil, pierce: nil) ⇒ Object
- #disable ⇒ Object
- #discard_search_results(search_id:) ⇒ Object
- #enable(include_whitespace: nil) ⇒ Object
- #focus(node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
- #force_show_popover(node_id:, enable:) ⇒ Object
- #get_anchor_element(node_id:, anchor_specifier: nil) ⇒ Object
- #get_attributes(node_id:) ⇒ Object
- #get_box_model(node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
- #get_container_for_node(node_id:, container_name: nil, physical_axes: nil, logical_axes: nil, queries_scroll_state: nil, queries_anchored: nil) ⇒ Object
- #get_content_quads(node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
- #get_detached_dom_nodes ⇒ Object
- #get_document(depth: nil, pierce: nil) ⇒ Object
- #get_element_by_relation(node_id:, relation:) ⇒ Object
- #get_file_info(object_id:) ⇒ Object
- #get_flattened_document(depth: nil, pierce: nil) ⇒ Object
- #get_frame_owner(frame_id:) ⇒ Object
- #get_node_for_location(x:, y:, include_user_agent_shadow_dom: nil, ignore_pointer_events_none: nil) ⇒ Object
- #get_node_stack_traces(node_id:) ⇒ Object
- #get_nodes_for_subtree_by_style(node_id:, computed_styles:, pierce: nil) ⇒ Object
- #get_outer_html(node_id: nil, backend_node_id: nil, object_id: nil, include_shadow_dom: nil) ⇒ Object
- #get_querying_descendants_for_container(node_id:) ⇒ Object
- #get_relayout_boundary(node_id:) ⇒ Object
- #get_search_results(search_id:, from_index:, to_index:) ⇒ Object
- #get_top_layer_elements ⇒ Object
- #hide_highlight ⇒ Object
- #highlight_node ⇒ Object
- #highlight_rect ⇒ Object
-
#initialize(devtools) ⇒ DOM
constructor
A new instance of DOM.
- #mark_undoable_state ⇒ Object
- #move_to(node_id:, target_node_id:, insert_before_node_id: nil) ⇒ Object
- #on(event, &block) ⇒ Object
- #perform_search(query:, include_user_agent_shadow_dom: nil) ⇒ Object
- #push_node_by_path_to_frontend(path:) ⇒ Object
- #push_nodes_by_backend_ids_to_frontend(backend_node_ids:) ⇒ Object
- #query_selector(node_id:, selector:) ⇒ Object
- #query_selector_all(node_id:, selector:) ⇒ Object
- #redo ⇒ Object
- #remove_attribute(node_id:, name:) ⇒ Object
- #remove_node(node_id:) ⇒ Object
- #request_child_nodes(node_id:, depth: nil, pierce: nil) ⇒ Object
- #request_node(object_id:) ⇒ Object
- #resolve_node(node_id: nil, backend_node_id: nil, object_group: nil, execution_context_id: nil) ⇒ Object
- #scroll_into_view_if_needed(node_id: nil, backend_node_id: nil, object_id: nil, rect: nil) ⇒ Object
- #set_attribute_value(node_id:, name:, value:) ⇒ Object
- #set_attributes_as_text(node_id:, text:, name: nil) ⇒ Object
- #set_file_input_files(files:, node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
- #set_inspected_node(node_id:) ⇒ Object
- #set_node_name(node_id:, name:) ⇒ Object
- #set_node_stack_traces_enabled(enable:) ⇒ Object
- #set_node_value(node_id:, value:) ⇒ Object
- #set_outer_html(node_id:, outer_html:) ⇒ Object
- #undo ⇒ Object
Constructor Details
#initialize(devtools) ⇒ DOM
Returns a new instance of DOM.
46 47 48 |
# File 'lib/selenium/devtools/v145/dom.rb', line 46 def initialize(devtools) @devtools = devtools end |
Instance Method Details
#collect_class_names_from_subtree(node_id:) ⇒ Object
55 56 57 58 |
# File 'lib/selenium/devtools/v145/dom.rb', line 55 def collect_class_names_from_subtree(node_id:) @devtools.send_cmd('DOM.collectClassNamesFromSubtree', nodeId: node_id) end |
#copy_to(node_id:, target_node_id:, insert_before_node_id: nil) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/selenium/devtools/v145/dom.rb', line 60 def copy_to(node_id:, target_node_id:, insert_before_node_id: nil) @devtools.send_cmd('DOM.copyTo', nodeId: node_id, targetNodeId: target_node_id, insertBeforeNodeId: insert_before_node_id) end |
#describe_node(node_id: nil, backend_node_id: nil, object_id: nil, depth: nil, pierce: nil) ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/selenium/devtools/v145/dom.rb', line 67 def describe_node(node_id: nil, backend_node_id: nil, object_id: nil, depth: nil, pierce: nil) @devtools.send_cmd('DOM.describeNode', nodeId: node_id, backendNodeId: backend_node_id, objectId: object_id, depth: depth, pierce: pierce) end |
#disable ⇒ Object
84 85 86 |
# File 'lib/selenium/devtools/v145/dom.rb', line 84 def disable @devtools.send_cmd('DOM.disable') end |
#discard_search_results(search_id:) ⇒ Object
88 89 90 91 |
# File 'lib/selenium/devtools/v145/dom.rb', line 88 def discard_search_results(search_id:) @devtools.send_cmd('DOM.discardSearchResults', searchId: search_id) end |
#enable(include_whitespace: nil) ⇒ Object
93 94 95 96 |
# File 'lib/selenium/devtools/v145/dom.rb', line 93 def enable(include_whitespace: nil) @devtools.send_cmd('DOM.enable', includeWhitespace: include_whitespace) end |
#focus(node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
98 99 100 101 102 103 |
# File 'lib/selenium/devtools/v145/dom.rb', line 98 def focus(node_id: nil, backend_node_id: nil, object_id: nil) @devtools.send_cmd('DOM.focus', nodeId: node_id, backendNodeId: backend_node_id, objectId: object_id) end |
#force_show_popover(node_id:, enable:) ⇒ Object
361 362 363 364 365 |
# File 'lib/selenium/devtools/v145/dom.rb', line 361 def force_show_popover(node_id:, enable:) @devtools.send_cmd('DOM.forceShowPopover', nodeId: node_id, enable: enable) end |
#get_anchor_element(node_id:, anchor_specifier: nil) ⇒ Object
355 356 357 358 359 |
# File 'lib/selenium/devtools/v145/dom.rb', line 355 def get_anchor_element(node_id:, anchor_specifier: nil) @devtools.send_cmd('DOM.getAnchorElement', nodeId: node_id, anchorSpecifier: anchor_specifier) end |
#get_attributes(node_id:) ⇒ Object
105 106 107 108 |
# File 'lib/selenium/devtools/v145/dom.rb', line 105 def get_attributes(node_id:) @devtools.send_cmd('DOM.getAttributes', nodeId: node_id) end |
#get_box_model(node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
110 111 112 113 114 115 |
# File 'lib/selenium/devtools/v145/dom.rb', line 110 def get_box_model(node_id: nil, backend_node_id: nil, object_id: nil) @devtools.send_cmd('DOM.getBoxModel', nodeId: node_id, backendNodeId: backend_node_id, objectId: object_id) end |
#get_container_for_node(node_id:, container_name: nil, physical_axes: nil, logical_axes: nil, queries_scroll_state: nil, queries_anchored: nil) ⇒ Object
340 341 342 343 344 345 346 347 348 |
# File 'lib/selenium/devtools/v145/dom.rb', line 340 def get_container_for_node(node_id:, container_name: nil, physical_axes: nil, logical_axes: nil, queries_scroll_state: nil, queries_anchored: nil) @devtools.send_cmd('DOM.getContainerForNode', nodeId: node_id, containerName: container_name, physicalAxes: physical_axes, logicalAxes: logical_axes, queriesScrollState: queries_scroll_state, queriesAnchored: queries_anchored) end |
#get_content_quads(node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
117 118 119 120 121 122 |
# File 'lib/selenium/devtools/v145/dom.rb', line 117 def get_content_quads(node_id: nil, backend_node_id: nil, object_id: nil) @devtools.send_cmd('DOM.getContentQuads', nodeId: node_id, backendNodeId: backend_node_id, objectId: object_id) end |
#get_detached_dom_nodes ⇒ Object
304 305 306 |
# File 'lib/selenium/devtools/v145/dom.rb', line 304 def get_detached_dom_nodes @devtools.send_cmd('DOM.getDetachedDomNodes') end |
#get_document(depth: nil, pierce: nil) ⇒ Object
124 125 126 127 128 |
# File 'lib/selenium/devtools/v145/dom.rb', line 124 def get_document(depth: nil, pierce: nil) @devtools.send_cmd('DOM.getDocument', depth: depth, pierce: pierce) end |
#get_element_by_relation(node_id:, relation:) ⇒ Object
226 227 228 229 230 |
# File 'lib/selenium/devtools/v145/dom.rb', line 226 def get_element_by_relation(node_id:, relation:) @devtools.send_cmd('DOM.getElementByRelation', nodeId: node_id, relation: relation) end |
#get_file_info(object_id:) ⇒ Object
299 300 301 302 |
# File 'lib/selenium/devtools/v145/dom.rb', line 299 def get_file_info(object_id:) @devtools.send_cmd('DOM.getFileInfo', objectId: object_id) end |
#get_flattened_document(depth: nil, pierce: nil) ⇒ Object
130 131 132 133 134 |
# File 'lib/selenium/devtools/v145/dom.rb', line 130 def get_flattened_document(depth: nil, pierce: nil) @devtools.send_cmd('DOM.getFlattenedDocument', depth: depth, pierce: pierce) end |
#get_frame_owner(frame_id:) ⇒ Object
335 336 337 338 |
# File 'lib/selenium/devtools/v145/dom.rb', line 335 def get_frame_owner(frame_id:) @devtools.send_cmd('DOM.getFrameOwner', frameId: frame_id) end |
#get_node_for_location(x:, y:, include_user_agent_shadow_dom: nil, ignore_pointer_events_none: nil) ⇒ Object
143 144 145 146 147 148 149 |
# File 'lib/selenium/devtools/v145/dom.rb', line 143 def get_node_for_location(x:, y:, include_user_agent_shadow_dom: nil, ignore_pointer_events_none: nil) @devtools.send_cmd('DOM.getNodeForLocation', x: x, y: y, includeUserAgentShadowDOM: include_user_agent_shadow_dom, ignorePointerEventsNone: ignore_pointer_events_none) end |
#get_node_stack_traces(node_id:) ⇒ Object
294 295 296 297 |
# File 'lib/selenium/devtools/v145/dom.rb', line 294 def get_node_stack_traces(node_id:) @devtools.send_cmd('DOM.getNodeStackTraces', nodeId: node_id) end |
#get_nodes_for_subtree_by_style(node_id:, computed_styles:, pierce: nil) ⇒ Object
136 137 138 139 140 141 |
# File 'lib/selenium/devtools/v145/dom.rb', line 136 def get_nodes_for_subtree_by_style(node_id:, computed_styles:, pierce: nil) @devtools.send_cmd('DOM.getNodesForSubtreeByStyle', nodeId: node_id, computedStyles: computed_styles, pierce: pierce) end |
#get_outer_html(node_id: nil, backend_node_id: nil, object_id: nil, include_shadow_dom: nil) ⇒ Object
151 152 153 154 155 156 157 |
# File 'lib/selenium/devtools/v145/dom.rb', line 151 def get_outer_html(node_id: nil, backend_node_id: nil, object_id: nil, include_shadow_dom: nil) @devtools.send_cmd('DOM.getOuterHTML', nodeId: node_id, backendNodeId: backend_node_id, objectId: object_id, includeShadowDOM: include_shadow_dom) end |
#get_querying_descendants_for_container(node_id:) ⇒ Object
350 351 352 353 |
# File 'lib/selenium/devtools/v145/dom.rb', line 350 def (node_id:) @devtools.send_cmd('DOM.getQueryingDescendantsForContainer', nodeId: node_id) end |
#get_relayout_boundary(node_id:) ⇒ Object
159 160 161 162 |
# File 'lib/selenium/devtools/v145/dom.rb', line 159 def get_relayout_boundary(node_id:) @devtools.send_cmd('DOM.getRelayoutBoundary', nodeId: node_id) end |
#get_search_results(search_id:, from_index:, to_index:) ⇒ Object
164 165 166 167 168 169 |
# File 'lib/selenium/devtools/v145/dom.rb', line 164 def get_search_results(search_id:, from_index:, to_index:) @devtools.send_cmd('DOM.getSearchResults', searchId: search_id, fromIndex: from_index, toIndex: to_index) end |
#get_top_layer_elements ⇒ Object
222 223 224 |
# File 'lib/selenium/devtools/v145/dom.rb', line 222 def get_top_layer_elements @devtools.send_cmd('DOM.getTopLayerElements') end |
#hide_highlight ⇒ Object
171 172 173 |
# File 'lib/selenium/devtools/v145/dom.rb', line 171 def hide_highlight @devtools.send_cmd('DOM.hideHighlight') end |
#highlight_node ⇒ Object
175 176 177 |
# File 'lib/selenium/devtools/v145/dom.rb', line 175 def highlight_node @devtools.send_cmd('DOM.highlightNode') end |
#highlight_rect ⇒ Object
179 180 181 |
# File 'lib/selenium/devtools/v145/dom.rb', line 179 def highlight_rect @devtools.send_cmd('DOM.highlightRect') end |
#mark_undoable_state ⇒ Object
183 184 185 |
# File 'lib/selenium/devtools/v145/dom.rb', line 183 def mark_undoable_state @devtools.send_cmd('DOM.markUndoableState') end |
#move_to(node_id:, target_node_id:, insert_before_node_id: nil) ⇒ Object
187 188 189 190 191 192 |
# File 'lib/selenium/devtools/v145/dom.rb', line 187 def move_to(node_id:, target_node_id:, insert_before_node_id: nil) @devtools.send_cmd('DOM.moveTo', nodeId: node_id, targetNodeId: target_node_id, insertBeforeNodeId: insert_before_node_id) end |
#on(event, &block) ⇒ Object
50 51 52 53 |
# File 'lib/selenium/devtools/v145/dom.rb', line 50 def on(event, &block) event = EVENTS[event] if event.is_a?(Symbol) @devtools.callbacks["DOM.#{event}"] << block end |
#perform_search(query:, include_user_agent_shadow_dom: nil) ⇒ Object
194 195 196 197 198 |
# File 'lib/selenium/devtools/v145/dom.rb', line 194 def perform_search(query:, include_user_agent_shadow_dom: nil) @devtools.send_cmd('DOM.performSearch', query: query, includeUserAgentShadowDOM: include_user_agent_shadow_dom) end |
#push_node_by_path_to_frontend(path:) ⇒ Object
200 201 202 203 |
# File 'lib/selenium/devtools/v145/dom.rb', line 200 def push_node_by_path_to_frontend(path:) @devtools.send_cmd('DOM.pushNodeByPathToFrontend', path: path) end |
#push_nodes_by_backend_ids_to_frontend(backend_node_ids:) ⇒ Object
205 206 207 208 |
# File 'lib/selenium/devtools/v145/dom.rb', line 205 def push_nodes_by_backend_ids_to_frontend(backend_node_ids:) @devtools.send_cmd('DOM.pushNodesByBackendIdsToFrontend', backendNodeIds: backend_node_ids) end |
#query_selector(node_id:, selector:) ⇒ Object
210 211 212 213 214 |
# File 'lib/selenium/devtools/v145/dom.rb', line 210 def query_selector(node_id:, selector:) @devtools.send_cmd('DOM.querySelector', nodeId: node_id, selector: selector) end |
#query_selector_all(node_id:, selector:) ⇒ Object
216 217 218 219 220 |
# File 'lib/selenium/devtools/v145/dom.rb', line 216 def query_selector_all(node_id:, selector:) @devtools.send_cmd('DOM.querySelectorAll', nodeId: node_id, selector: selector) end |
#redo ⇒ Object
232 233 234 |
# File 'lib/selenium/devtools/v145/dom.rb', line 232 def redo @devtools.send_cmd('DOM.redo') end |
#remove_attribute(node_id:, name:) ⇒ Object
236 237 238 239 240 |
# File 'lib/selenium/devtools/v145/dom.rb', line 236 def remove_attribute(node_id:, name:) @devtools.send_cmd('DOM.removeAttribute', nodeId: node_id, name: name) end |
#remove_node(node_id:) ⇒ Object
242 243 244 245 |
# File 'lib/selenium/devtools/v145/dom.rb', line 242 def remove_node(node_id:) @devtools.send_cmd('DOM.removeNode', nodeId: node_id) end |
#request_child_nodes(node_id:, depth: nil, pierce: nil) ⇒ Object
247 248 249 250 251 252 |
# File 'lib/selenium/devtools/v145/dom.rb', line 247 def request_child_nodes(node_id:, depth: nil, pierce: nil) @devtools.send_cmd('DOM.requestChildNodes', nodeId: node_id, depth: depth, pierce: pierce) end |
#request_node(object_id:) ⇒ Object
254 255 256 257 |
# File 'lib/selenium/devtools/v145/dom.rb', line 254 def request_node(object_id:) @devtools.send_cmd('DOM.requestNode', objectId: object_id) end |
#resolve_node(node_id: nil, backend_node_id: nil, object_group: nil, execution_context_id: nil) ⇒ Object
259 260 261 262 263 264 265 |
# File 'lib/selenium/devtools/v145/dom.rb', line 259 def resolve_node(node_id: nil, backend_node_id: nil, object_group: nil, execution_context_id: nil) @devtools.send_cmd('DOM.resolveNode', nodeId: node_id, backendNodeId: backend_node_id, objectGroup: object_group, executionContextId: execution_context_id) end |
#scroll_into_view_if_needed(node_id: nil, backend_node_id: nil, object_id: nil, rect: nil) ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/selenium/devtools/v145/dom.rb', line 76 def scroll_into_view_if_needed(node_id: nil, backend_node_id: nil, object_id: nil, rect: nil) @devtools.send_cmd('DOM.scrollIntoViewIfNeeded', nodeId: node_id, backendNodeId: backend_node_id, objectId: object_id, rect: rect) end |
#set_attribute_value(node_id:, name:, value:) ⇒ Object
267 268 269 270 271 272 |
# File 'lib/selenium/devtools/v145/dom.rb', line 267 def set_attribute_value(node_id:, name:, value:) @devtools.send_cmd('DOM.setAttributeValue', nodeId: node_id, name: name, value: value) end |
#set_attributes_as_text(node_id:, text:, name: nil) ⇒ Object
274 275 276 277 278 279 |
# File 'lib/selenium/devtools/v145/dom.rb', line 274 def set_attributes_as_text(node_id:, text:, name: nil) @devtools.send_cmd('DOM.setAttributesAsText', nodeId: node_id, text: text, name: name) end |
#set_file_input_files(files:, node_id: nil, backend_node_id: nil, object_id: nil) ⇒ Object
281 282 283 284 285 286 287 |
# File 'lib/selenium/devtools/v145/dom.rb', line 281 def set_file_input_files(files:, node_id: nil, backend_node_id: nil, object_id: nil) @devtools.send_cmd('DOM.setFileInputFiles', files: files, nodeId: node_id, backendNodeId: backend_node_id, objectId: object_id) end |
#set_inspected_node(node_id:) ⇒ Object
308 309 310 311 |
# File 'lib/selenium/devtools/v145/dom.rb', line 308 def set_inspected_node(node_id:) @devtools.send_cmd('DOM.setInspectedNode', nodeId: node_id) end |
#set_node_name(node_id:, name:) ⇒ Object
313 314 315 316 317 |
# File 'lib/selenium/devtools/v145/dom.rb', line 313 def set_node_name(node_id:, name:) @devtools.send_cmd('DOM.setNodeName', nodeId: node_id, name: name) end |
#set_node_stack_traces_enabled(enable:) ⇒ Object
289 290 291 292 |
# File 'lib/selenium/devtools/v145/dom.rb', line 289 def set_node_stack_traces_enabled(enable:) @devtools.send_cmd('DOM.setNodeStackTracesEnabled', enable: enable) end |
#set_node_value(node_id:, value:) ⇒ Object
319 320 321 322 323 |
# File 'lib/selenium/devtools/v145/dom.rb', line 319 def set_node_value(node_id:, value:) @devtools.send_cmd('DOM.setNodeValue', nodeId: node_id, value: value) end |
#set_outer_html(node_id:, outer_html:) ⇒ Object
325 326 327 328 329 |
# File 'lib/selenium/devtools/v145/dom.rb', line 325 def set_outer_html(node_id:, outer_html:) @devtools.send_cmd('DOM.setOuterHTML', nodeId: node_id, outerHTML: outer_html) end |
#undo ⇒ Object
331 332 333 |
# File 'lib/selenium/devtools/v145/dom.rb', line 331 def undo @devtools.send_cmd('DOM.undo') end |