Package io.webfolder.cdp.command
Interface DOM
public interface DOM
This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror
object that has an id. This id can be used to get additional information on the Node, resolve it
into the JavaScript object wrapper, etc. It is important that client receives DOM events only for
the nodes that are known to the client. Backend keeps track of the nodes that were sent to the
client and never sends the same node twice. It is client's responsibility to collect information
about the nodes that were sent to the client.
Note that iframe owner elements will return corresponding document elements as their child nodes.
-
Method Summary
Modifier and TypeMethodDescriptioncollectClassNamesFromSubtree
(Integer nodeId) Collects class names for the node with given id and all of it's child nodes.Creates a deep copy of the specified node and places it into the target container before the given anchor.Creates a deep copy of the specified node and places it into the target container before the given anchor.Describes node given its id, does not require domain to be enabled.Describes node given its id, does not require domain to be enabled.void
disable()
Disables DOM agent for the given page.void
discardSearchResults
(String searchId) Discards search results from the session with the given id.void
enable()
Enables DOM agent for the given page.void
enable
(IncludeWhitespace includeWhitespace) Enables DOM agent for the given page.void
focus()
Focuses the given element.void
Focuses the given element.getAttributes
(Integer nodeId) Returns attributes for the specified node.Returns boxes for the given node.getBoxModel
(Integer nodeId, Integer backendNodeId, String objectId) Returns boxes for the given node.getContainerForNode
(Integer nodeId) Returns the container of the given node based on container query conditions.getContainerForNode
(Integer nodeId, String containerName) Returns the container of the given node based on container query conditions.Returns quads that describe node position on the page.getContentQuads
(Integer nodeId, Integer backendNodeId, String objectId) Returns quads that describe node position on the page.Returns the root DOM node (and optionally the subtree) to the caller.getDocument
(Integer depth, Boolean pierce) Returns the root DOM node (and optionally the subtree) to the caller.getFileInfo
(String objectId) Returns file information for the given File wrapper.Deprecated.getFlattenedDocument
(Integer depth, Boolean pierce) Deprecated.getFrameOwner
(String frameId) Returns iframe node that owns iframe with the given domain.getNodeForLocation
(Integer x, Integer y) Returns node id at given location.getNodeForLocation
(Integer x, Integer y, Boolean includeUserAgentShadowDOM, Boolean ignorePointerEventsNone) Returns node id at given location.getNodesForSubtreeByStyle
(Integer nodeId, List<CSSComputedStyleProperty> computedStyles) Finds nodes with a given computed style in a subtree.getNodesForSubtreeByStyle
(Integer nodeId, List<CSSComputedStyleProperty> computedStyles, Boolean pierce) Finds nodes with a given computed style in a subtree.getNodeStackTraces
(Integer nodeId) Gets stack traces associated with a Node.Returns node's HTML markup.getOuterHTML
(Integer nodeId, Integer backendNodeId, String objectId) Returns node's HTML markup.Returns the descendants of a container query container that have container queries against this container.getRelayoutBoundary
(Integer nodeId) Returns the id of the nearest ancestor that is a relayout boundary.getSearchResults
(String searchId, Integer fromIndex, Integer toIndex) Returns search results from given fromIndex to given toIndex from the search with the given identifier.Returns NodeIds of current top layer elements.void
Hides any highlight.void
Highlights DOM node.void
Highlights given rectangle.void
Marks last undoable state.Moves node into the new container, places it before the given anchor.Moves node into the new container, places it before the given anchor.performSearch
(String query) Searches for a given string in the DOM tree.performSearch
(String query, Boolean includeUserAgentShadowDOM) Searches for a given string in the DOM tree.Requests that the node is sent to the caller given its path.pushNodesByBackendIdsToFrontend
(List<Integer> backendNodeIds) Requests that a batch of nodes is sent to the caller given their backend node ids.querySelector
(Integer nodeId, String selector) Executes querySelector on a given node.querySelectorAll
(Integer nodeId, String selector) Executes querySelectorAll on a given node.void
redo()
Re-does the last undone action.void
removeAttribute
(Integer nodeId, String name) Removes attribute with given name from an element with given id.void
removeNode
(Integer nodeId) Removes node with given id.void
requestChildNodes
(Integer nodeId) Requests that children of the node with given id are returned to the caller in form of setChildNodes events where not only immediate children are retrieved, but all children down to the specified depth.void
requestChildNodes
(Integer nodeId, Integer depth, Boolean pierce) Requests that children of the node with given id are returned to the caller in form of setChildNodes events where not only immediate children are retrieved, but all children down to the specified depth.requestNode
(String objectId) Requests that the node is sent to the caller given the JavaScript node object reference.Resolves the JavaScript node object for a given NodeId or BackendNodeId.resolveNode
(Integer nodeId, Integer backendNodeId, String objectGroup, Integer executionContextId) Resolves the JavaScript node object for a given NodeId or BackendNodeId.void
Scrolls the specified rect of the given node into view if not already visible.void
scrollIntoViewIfNeeded
(Integer nodeId, Integer backendNodeId, String objectId, Rect rect) Scrolls the specified rect of the given node into view if not already visible.void
setAttributesAsText
(Integer nodeId, String text) Sets attributes on element with given id.void
setAttributesAsText
(Integer nodeId, String text, String name) Sets attributes on element with given id.void
setAttributeValue
(Integer nodeId, String name, String value) Sets attribute for an element with given id.void
setFileInputFiles
(List<String> files) Sets files for the given file input element.void
Sets files for the given file input element.void
setInspectedNode
(Integer nodeId) Enables console to refer to the node with given id via (see Command Line API for more details functions).setNodeName
(Integer nodeId, String name) Sets node name for a node with given id.void
setNodeStackTracesEnabled
(Boolean enable) Sets if stack traces should be captured for Nodes.void
setNodeValue
(Integer nodeId, String value) Sets node value for a node with given id.void
setOuterHTML
(Integer nodeId, String outerHTML) Sets node HTML markup, returns new node id.void
undo()
Undoes the last performed action.
-
Method Details
-
collectClassNamesFromSubtree
Collects class names for the node with given id and all of it's child nodes.- Parameters:
nodeId
- Id of the node to collect class names.- Returns:
- Class name list.
-
copyTo
Creates a deep copy of the specified node and places it into the target container before the given anchor.- Parameters:
nodeId
- Id of the node to copy.targetNodeId
- Id of the element to drop the copy into.- Returns:
- Id of the node clone.
-
copyTo
Creates a deep copy of the specified node and places it into the target container before the given anchor.- Parameters:
nodeId
- Id of the node to copy.targetNodeId
- Id of the element to drop the copy into.insertBeforeNodeId
- Drop the copy before this node (if absent, the copy becomes the last child of targetNodeId).- Returns:
- Id of the node clone.
-
describeNode
Node describeNode()Describes node given its id, does not require domain to be enabled. Does not start tracking any objects, can be used for automation.- Returns:
- Node description.
-
describeNode
Node describeNode(Integer nodeId, Integer backendNodeId, String objectId, Integer depth, Boolean pierce) Describes node given its id, does not require domain to be enabled. Does not start tracking any objects, can be used for automation.- Parameters:
nodeId
- Identifier of the node.backendNodeId
- Identifier of the backend node.objectId
- JavaScript object id of the node wrapper.depth
- The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.pierce
- Whether or not iframes and shadow roots should be traversed when returning the subtree (default is false).- Returns:
- Node description.
-
disable
void disable()Disables DOM agent for the given page. -
discardSearchResults
Discards search results from the session with the given id. getSearchResults should no longer be called for that search.- Parameters:
searchId
- Unique search session identifier.
-
enable
void enable()Enables DOM agent for the given page. -
enable
Enables DOM agent for the given page.- Parameters:
includeWhitespace
- Whether to include whitespaces in the children array of returned Nodes.
-
focus
void focus()Focuses the given element. -
focus
Focuses the given element.- Parameters:
nodeId
- Identifier of the node.backendNodeId
- Identifier of the backend node.objectId
- JavaScript object id of the node wrapper.
-
getAttributes
Returns attributes for the specified node.- Parameters:
nodeId
- Id of the node to retrieve attibutes for.- Returns:
- An interleaved array of node attribute names and values.
-
getBoxModel
BoxModel getBoxModel()Returns boxes for the given node.- Returns:
- Box model for the node.
-
getBoxModel
Returns boxes for the given node.- Parameters:
nodeId
- Identifier of the node.backendNodeId
- Identifier of the backend node.objectId
- JavaScript object id of the node wrapper.- Returns:
- Box model for the node.
-
getContainerForNode
Returns the container of the given node based on container query conditions. If containerName is given, it will find the nearest container with a matching name; otherwise it will find the nearest container regardless of its container name.- Returns:
- The container node for the given node, or null if not found.
-
getContainerForNode
Returns the container of the given node based on container query conditions. If containerName is given, it will find the nearest container with a matching name; otherwise it will find the nearest container regardless of its container name.- Returns:
- The container node for the given node, or null if not found.
-
getContentQuads
Returns quads that describe node position on the page. This method might return multiple quads for inline nodes.- Returns:
- Quads that describe node layout relative to viewport.
-
getContentQuads
Returns quads that describe node position on the page. This method might return multiple quads for inline nodes.- Parameters:
nodeId
- Identifier of the node.backendNodeId
- Identifier of the backend node.objectId
- JavaScript object id of the node wrapper.- Returns:
- Quads that describe node layout relative to viewport.
-
getDocument
Node getDocument()Returns the root DOM node (and optionally the subtree) to the caller.- Returns:
- Resulting node.
-
getDocument
Returns the root DOM node (and optionally the subtree) to the caller.- Parameters:
depth
- The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.pierce
- Whether or not iframes and shadow roots should be traversed when returning the subtree (default is false).- Returns:
- Resulting node.
-
getFileInfo
Returns file information for the given File wrapper.- Parameters:
objectId
- JavaScript object id of the node wrapper.
-
getFlattenedDocument
Deprecated.Returns the root DOM node (and optionally the subtree) to the caller. Deprecated, as it is not designed to work well with the rest of the DOM agent. Use DOMSnapshot.captureSnapshot instead.- Returns:
- Resulting node.
-
getFlattenedDocument
Deprecated.Returns the root DOM node (and optionally the subtree) to the caller. Deprecated, as it is not designed to work well with the rest of the DOM agent. Use DOMSnapshot.captureSnapshot instead.- Parameters:
depth
- The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.pierce
- Whether or not iframes and shadow roots should be traversed when returning the subtree (default is false).- Returns:
- Resulting node.
-
getFrameOwner
Returns iframe node that owns iframe with the given domain.- Returns:
- GetFrameOwnerResult
-
getNodeForLocation
Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is either returned or not.- Parameters:
x
- X coordinate.y
- Y coordinate.- Returns:
- GetNodeForLocationResult
-
getNodeForLocation
GetNodeForLocationResult getNodeForLocation(Integer x, Integer y, Boolean includeUserAgentShadowDOM, Boolean ignorePointerEventsNone) Returns node id at given location. Depending on whether DOM domain is enabled, nodeId is either returned or not.- Parameters:
x
- X coordinate.y
- Y coordinate.includeUserAgentShadowDOM
- False to skip to the nearest non-UA shadow root ancestor (default: false).ignorePointerEventsNone
- Whether to ignore pointer-events: none on elements and hit test them.- Returns:
- GetNodeForLocationResult
-
getNodeStackTraces
Gets stack traces associated with a Node. As of now, only provides stack trace for Node creation.- Parameters:
nodeId
- Id of the node to get stack traces for.- Returns:
- Creation stack trace, if available.
-
getNodesForSubtreeByStyle
List<Integer> getNodesForSubtreeByStyle(Integer nodeId, List<CSSComputedStyleProperty> computedStyles) Finds nodes with a given computed style in a subtree.- Parameters:
nodeId
- Node ID pointing to the root of a subtree.computedStyles
- The style to filter nodes by (includes nodes if any of properties matches).- Returns:
- Resulting nodes.
-
getNodesForSubtreeByStyle
List<Integer> getNodesForSubtreeByStyle(Integer nodeId, List<CSSComputedStyleProperty> computedStyles, Boolean pierce) Finds nodes with a given computed style in a subtree.- Parameters:
nodeId
- Node ID pointing to the root of a subtree.computedStyles
- The style to filter nodes by (includes nodes if any of properties matches).pierce
- Whether or not iframes and shadow roots in the same target should be traversed when returning the results (default is false).- Returns:
- Resulting nodes.
-
getOuterHTML
String getOuterHTML()Returns node's HTML markup.- Returns:
- Outer HTML markup.
-
getOuterHTML
Returns node's HTML markup.- Parameters:
nodeId
- Identifier of the node.backendNodeId
- Identifier of the backend node.objectId
- JavaScript object id of the node wrapper.- Returns:
- Outer HTML markup.
-
getQueryingDescendantsForContainer
Returns the descendants of a container query container that have container queries against this container.- Parameters:
nodeId
- Id of the container node to find querying descendants from.- Returns:
- Descendant nodes with container queries against the given container.
-
getRelayoutBoundary
Returns the id of the nearest ancestor that is a relayout boundary.- Parameters:
nodeId
- Id of the node.- Returns:
- Relayout boundary node id for the given node.
-
getSearchResults
Returns search results from given fromIndex to given toIndex from the search with the given identifier.- Parameters:
searchId
- Unique search session identifier.fromIndex
- Start index of the search result to be returned.toIndex
- End index of the search result to be returned.- Returns:
- Ids of the search result nodes.
-
getTopLayerElements
Returns NodeIds of current top layer elements. Top layer is rendered closest to the user within a viewport, therefore its elements always appear on top of all other content.- Returns:
- NodeIds of top layer elements
-
hideHighlight
void hideHighlight()Hides any highlight. -
highlightNode
void highlightNode()Highlights DOM node. -
highlightRect
void highlightRect()Highlights given rectangle. -
markUndoableState
void markUndoableState()Marks last undoable state. -
moveTo
Moves node into the new container, places it before the given anchor.- Parameters:
nodeId
- Id of the node to move.targetNodeId
- Id of the element to drop the moved node into.- Returns:
- New id of the moved node.
-
moveTo
Moves node into the new container, places it before the given anchor.- Parameters:
nodeId
- Id of the node to move.targetNodeId
- Id of the element to drop the moved node into.insertBeforeNodeId
- Drop node before this one (if absent, the moved node becomes the last child of targetNodeId).- Returns:
- New id of the moved node.
-
performSearch
Searches for a given string in the DOM tree. Use getSearchResults to access search results or cancelSearch to end this search session.- Parameters:
query
- Plain text or query selector or XPath search query.- Returns:
- PerformSearchResult
-
performSearch
Searches for a given string in the DOM tree. Use getSearchResults to access search results or cancelSearch to end this search session.- Parameters:
query
- Plain text or query selector or XPath search query.includeUserAgentShadowDOM
- True to search in user agent shadow DOM.- Returns:
- PerformSearchResult
-
pushNodeByPathToFrontend
Requests that the node is sent to the caller given its path. // FIXME, use XPath- Parameters:
path
- Path to node in the proprietary format.- Returns:
- Id of the node for given path.
-
pushNodesByBackendIdsToFrontend
Requests that a batch of nodes is sent to the caller given their backend node ids.- Parameters:
backendNodeIds
- The array of backend node ids.- Returns:
- The array of ids of pushed nodes that correspond to the backend ids specified in backendNodeIds.
-
querySelector
Executes querySelector on a given node.- Parameters:
nodeId
- Id of the node to query upon.selector
- Selector string.- Returns:
- Query selector result.
-
querySelectorAll
Executes querySelectorAll on a given node.- Parameters:
nodeId
- Id of the node to query upon.selector
- Selector string.- Returns:
- Query selector result.
-
redo
void redo()Re-does the last undone action. -
removeAttribute
Removes attribute with given name from an element with given id.- Parameters:
nodeId
- Id of the element to remove attribute from.name
- Name of the attribute to remove.
-
removeNode
Removes node with given id.- Parameters:
nodeId
- Id of the node to remove.
-
requestChildNodes
Requests that children of the node with given id are returned to the caller in form of setChildNodes events where not only immediate children are retrieved, but all children down to the specified depth.- Parameters:
nodeId
- Id of the node to get children for.
-
requestChildNodes
Requests that children of the node with given id are returned to the caller in form of setChildNodes events where not only immediate children are retrieved, but all children down to the specified depth.- Parameters:
nodeId
- Id of the node to get children for.depth
- The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.pierce
- Whether or not iframes and shadow roots should be traversed when returning the sub-tree (default is false).
-
requestNode
Requests that the node is sent to the caller given the JavaScript node object reference. All nodes that form the path from the node to the root are also sent to the client as a series of setChildNodes notifications.- Parameters:
objectId
- JavaScript object id to convert into node.- Returns:
- Node id for given object.
-
resolveNode
RemoteObject resolveNode()Resolves the JavaScript node object for a given NodeId or BackendNodeId.- Returns:
- JavaScript object wrapper for given node.
-
resolveNode
RemoteObject resolveNode(Integer nodeId, Integer backendNodeId, String objectGroup, Integer executionContextId) Resolves the JavaScript node object for a given NodeId or BackendNodeId.- Parameters:
nodeId
- Id of the node to resolve.backendNodeId
- Backend identifier of the node to resolve.objectGroup
- Symbolic group name that can be used to release multiple objects.executionContextId
- Execution context in which to resolve the node.- Returns:
- JavaScript object wrapper for given node.
-
scrollIntoViewIfNeeded
void scrollIntoViewIfNeeded()Scrolls the specified rect of the given node into view if not already visible. Note: exactly one between nodeId, backendNodeId and objectId should be passed to identify the node. -
scrollIntoViewIfNeeded
Scrolls the specified rect of the given node into view if not already visible. Note: exactly one between nodeId, backendNodeId and objectId should be passed to identify the node.- Parameters:
nodeId
- Identifier of the node.backendNodeId
- Identifier of the backend node.objectId
- JavaScript object id of the node wrapper.rect
- The rect to be scrolled into view, relative to the node's border box, in CSS pixels. When omitted, center of the node will be used, similar to Element.scrollIntoView.
-
setAttributeValue
Sets attribute for an element with given id.- Parameters:
nodeId
- Id of the element to set attribute for.name
- Attribute name.value
- Attribute value.
-
setAttributesAsText
Sets attributes on element with given id. This method is useful when user edits some existing attribute value and types in several attribute name/value pairs.- Parameters:
nodeId
- Id of the element to set attributes for.text
- Text with a number of attributes. Will parse this text using HTML parser.
-
setAttributesAsText
Sets attributes on element with given id. This method is useful when user edits some existing attribute value and types in several attribute name/value pairs.- Parameters:
nodeId
- Id of the element to set attributes for.text
- Text with a number of attributes. Will parse this text using HTML parser.name
- Attribute name to replace with new attributes derived from text in case text parsed successfully.
-
setFileInputFiles
Sets files for the given file input element.- Parameters:
files
- Array of file paths to set.
-
setFileInputFiles
Sets files for the given file input element.- Parameters:
files
- Array of file paths to set.nodeId
- Identifier of the node.backendNodeId
- Identifier of the backend node.objectId
- JavaScript object id of the node wrapper.
-
setInspectedNode
Enables console to refer to the node with given id via (see Command Line API for more details functions).- Parameters:
nodeId
- DOM node id to be accessible by means of x command line API.
-
setNodeName
Sets node name for a node with given id.- Parameters:
nodeId
- Id of the node to set name for.name
- New node's name.- Returns:
- New node's id.
-
setNodeStackTracesEnabled
Sets if stack traces should be captured for Nodes. See Node.getNodeStackTraces. Default is disabled.- Parameters:
enable
- Enable or disable.
-
setNodeValue
Sets node value for a node with given id.- Parameters:
nodeId
- Id of the node to set value for.value
- New node's value.
-
setOuterHTML
Sets node HTML markup, returns new node id.- Parameters:
nodeId
- Id of the node to set markup for.outerHTML
- Outer HTML markup to set.
-
undo
void undo()Undoes the last performed action.
-