Class: Selenium::DevTools::V148::DOM

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/devtools/v148/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',
  ad_related_state_updated: 'adRelatedStateUpdated',
  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

Constructor Details

#initialize(devtools) ⇒ DOM

Returns a new instance of DOM.



47
48
49
# File 'lib/selenium/devtools/v148/dom.rb', line 47

def initialize(devtools)
  @devtools = devtools
end

Instance Method Details

#collect_class_names_from_subtree(node_id:) ⇒ Object



56
57
58
59
# File 'lib/selenium/devtools/v148/dom.rb', line 56

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



61
62
63
64
65
66
# File 'lib/selenium/devtools/v148/dom.rb', line 61

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



68
69
70
71
72
73
74
75
# File 'lib/selenium/devtools/v148/dom.rb', line 68

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

#disableObject



85
86
87
# File 'lib/selenium/devtools/v148/dom.rb', line 85

def disable
  @devtools.send_cmd('DOM.disable')
end

#discard_search_results(search_id:) ⇒ Object



89
90
91
92
# File 'lib/selenium/devtools/v148/dom.rb', line 89

def discard_search_results(search_id:)
  @devtools.send_cmd('DOM.discardSearchResults',
                     searchId: search_id)
end

#enable(include_whitespace: nil) ⇒ Object



94
95
96
97
# File 'lib/selenium/devtools/v148/dom.rb', line 94

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



99
100
101
102
103
104
# File 'lib/selenium/devtools/v148/dom.rb', line 99

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



362
363
364
365
366
# File 'lib/selenium/devtools/v148/dom.rb', line 362

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



356
357
358
359
360
# File 'lib/selenium/devtools/v148/dom.rb', line 356

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



106
107
108
109
# File 'lib/selenium/devtools/v148/dom.rb', line 106

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



111
112
113
114
115
116
# File 'lib/selenium/devtools/v148/dom.rb', line 111

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



341
342
343
344
345
346
347
348
349
# File 'lib/selenium/devtools/v148/dom.rb', line 341

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



118
119
120
121
122
123
# File 'lib/selenium/devtools/v148/dom.rb', line 118

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_nodesObject



305
306
307
# File 'lib/selenium/devtools/v148/dom.rb', line 305

def get_detached_dom_nodes
  @devtools.send_cmd('DOM.getDetachedDomNodes')
end

#get_document(depth: nil, pierce: nil) ⇒ Object



125
126
127
128
129
# File 'lib/selenium/devtools/v148/dom.rb', line 125

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



227
228
229
230
231
# File 'lib/selenium/devtools/v148/dom.rb', line 227

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



300
301
302
303
# File 'lib/selenium/devtools/v148/dom.rb', line 300

def get_file_info(object_id:)
  @devtools.send_cmd('DOM.getFileInfo',
                     objectId: object_id)
end

#get_flattened_document(depth: nil, pierce: nil) ⇒ Object



131
132
133
134
135
# File 'lib/selenium/devtools/v148/dom.rb', line 131

def get_flattened_document(depth: nil, pierce: nil)
  @devtools.send_cmd('DOM.getFlattenedDocument',
                     depth: depth,
                     pierce: pierce)
end

#get_frame_owner(frame_id:) ⇒ Object



336
337
338
339
# File 'lib/selenium/devtools/v148/dom.rb', line 336

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



144
145
146
147
148
149
150
# File 'lib/selenium/devtools/v148/dom.rb', line 144

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



295
296
297
298
# File 'lib/selenium/devtools/v148/dom.rb', line 295

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



137
138
139
140
141
142
# File 'lib/selenium/devtools/v148/dom.rb', line 137

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



152
153
154
155
156
157
158
# File 'lib/selenium/devtools/v148/dom.rb', line 152

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



351
352
353
354
# File 'lib/selenium/devtools/v148/dom.rb', line 351

def get_querying_descendants_for_container(node_id:)
  @devtools.send_cmd('DOM.getQueryingDescendantsForContainer',
                     nodeId: node_id)
end

#get_relayout_boundary(node_id:) ⇒ Object



160
161
162
163
# File 'lib/selenium/devtools/v148/dom.rb', line 160

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



165
166
167
168
169
170
# File 'lib/selenium/devtools/v148/dom.rb', line 165

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_elementsObject



223
224
225
# File 'lib/selenium/devtools/v148/dom.rb', line 223

def get_top_layer_elements
  @devtools.send_cmd('DOM.getTopLayerElements')
end

#hide_highlightObject



172
173
174
# File 'lib/selenium/devtools/v148/dom.rb', line 172

def hide_highlight
  @devtools.send_cmd('DOM.hideHighlight')
end

#highlight_nodeObject



176
177
178
# File 'lib/selenium/devtools/v148/dom.rb', line 176

def highlight_node
  @devtools.send_cmd('DOM.highlightNode')
end

#highlight_rectObject



180
181
182
# File 'lib/selenium/devtools/v148/dom.rb', line 180

def highlight_rect
  @devtools.send_cmd('DOM.highlightRect')
end

#mark_undoable_stateObject



184
185
186
# File 'lib/selenium/devtools/v148/dom.rb', line 184

def mark_undoable_state
  @devtools.send_cmd('DOM.markUndoableState')
end

#move_to(node_id:, target_node_id:, insert_before_node_id: nil) ⇒ Object



188
189
190
191
192
193
# File 'lib/selenium/devtools/v148/dom.rb', line 188

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



51
52
53
54
# File 'lib/selenium/devtools/v148/dom.rb', line 51

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



195
196
197
198
199
# File 'lib/selenium/devtools/v148/dom.rb', line 195

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



201
202
203
204
# File 'lib/selenium/devtools/v148/dom.rb', line 201

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



206
207
208
209
# File 'lib/selenium/devtools/v148/dom.rb', line 206

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



211
212
213
214
215
# File 'lib/selenium/devtools/v148/dom.rb', line 211

def query_selector(node_id:, selector:)
  @devtools.send_cmd('DOM.querySelector',
                     nodeId: node_id,
                     selector: selector)
end

#query_selector_all(node_id:, selector:) ⇒ Object



217
218
219
220
221
# File 'lib/selenium/devtools/v148/dom.rb', line 217

def query_selector_all(node_id:, selector:)
  @devtools.send_cmd('DOM.querySelectorAll',
                     nodeId: node_id,
                     selector: selector)
end

#redoObject



233
234
235
# File 'lib/selenium/devtools/v148/dom.rb', line 233

def redo
  @devtools.send_cmd('DOM.redo')
end

#remove_attribute(node_id:, name:) ⇒ Object



237
238
239
240
241
# File 'lib/selenium/devtools/v148/dom.rb', line 237

def remove_attribute(node_id:, name:)
  @devtools.send_cmd('DOM.removeAttribute',
                     nodeId: node_id,
                     name: name)
end

#remove_node(node_id:) ⇒ Object



243
244
245
246
# File 'lib/selenium/devtools/v148/dom.rb', line 243

def remove_node(node_id:)
  @devtools.send_cmd('DOM.removeNode',
                     nodeId: node_id)
end

#request_child_nodes(node_id:, depth: nil, pierce: nil) ⇒ Object



248
249
250
251
252
253
# File 'lib/selenium/devtools/v148/dom.rb', line 248

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



255
256
257
258
# File 'lib/selenium/devtools/v148/dom.rb', line 255

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



260
261
262
263
264
265
266
# File 'lib/selenium/devtools/v148/dom.rb', line 260

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



77
78
79
80
81
82
83
# File 'lib/selenium/devtools/v148/dom.rb', line 77

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



268
269
270
271
272
273
# File 'lib/selenium/devtools/v148/dom.rb', line 268

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



275
276
277
278
279
280
# File 'lib/selenium/devtools/v148/dom.rb', line 275

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



282
283
284
285
286
287
288
# File 'lib/selenium/devtools/v148/dom.rb', line 282

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



309
310
311
312
# File 'lib/selenium/devtools/v148/dom.rb', line 309

def set_inspected_node(node_id:)
  @devtools.send_cmd('DOM.setInspectedNode',
                     nodeId: node_id)
end

#set_node_name(node_id:, name:) ⇒ Object



314
315
316
317
318
# File 'lib/selenium/devtools/v148/dom.rb', line 314

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



290
291
292
293
# File 'lib/selenium/devtools/v148/dom.rb', line 290

def set_node_stack_traces_enabled(enable:)
  @devtools.send_cmd('DOM.setNodeStackTracesEnabled',
                     enable: enable)
end

#set_node_value(node_id:, value:) ⇒ Object



320
321
322
323
324
# File 'lib/selenium/devtools/v148/dom.rb', line 320

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



326
327
328
329
330
# File 'lib/selenium/devtools/v148/dom.rb', line 326

def set_outer_html(node_id:, outer_html:)
  @devtools.send_cmd('DOM.setOuterHTML',
                     nodeId: node_id,
                     outerHTML: outer_html)
end

#undoObject



332
333
334
# File 'lib/selenium/devtools/v148/dom.rb', line 332

def undo
  @devtools.send_cmd('DOM.undo')
end