Interface DOM

All Known Implementing Classes:
DOMImpl

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 Type Method Description
    java.util.List<java.lang.String> collectClassNamesFromSubtree​(java.lang.Integer nodeId)
    Collects class names for the node with given id and all of it's child nodes.
    java.lang.Integer copyTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId)
    Creates a deep copy of the specified node and places it into the target container before the given anchor.
    java.lang.Integer copyTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId, java.lang.Integer insertBeforeNodeId)
    Creates a deep copy of the specified node and places it into the target container before the given anchor.
    Node describeNode()
    Describes node given its id, does not require domain to be enabled.
    Node describeNode​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId, java.lang.Integer depth, java.lang.Boolean pierce)
    Describes node given its id, does not require domain to be enabled.
    void disable()
    Disables DOM agent for the given page.
    void discardSearchResults​(java.lang.String searchId)
    Discards search results from the session with the given id.
    void enable()
    Enables DOM agent for the given page.
    void focus()
    Focuses the given element.
    void focus​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
    Focuses the given element.
    java.util.List<java.lang.String> getAttributes​(java.lang.Integer nodeId)
    Returns attributes for the specified node.
    BoxModel getBoxModel()
    Returns boxes for the given node.
    BoxModel getBoxModel​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
    Returns boxes for the given node.
    java.util.List<java.util.List<java.lang.Double>> getContentQuads()
    Returns quads that describe node position on the page.
    java.util.List<java.util.List<java.lang.Double>> getContentQuads​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
    Returns quads that describe node position on the page.
    Node getDocument()
    Returns the root DOM node (and optionally the subtree) to the caller.
    Node getDocument​(java.lang.Integer depth, java.lang.Boolean pierce)
    Returns the root DOM node (and optionally the subtree) to the caller.
    java.lang.String getFileInfo​(java.lang.String objectId)
    Returns file information for the given File wrapper.
    java.util.List<Node> getFlattenedDocument()
    Returns the root DOM node (and optionally the subtree) to the caller.
    java.util.List<Node> getFlattenedDocument​(java.lang.Integer depth, java.lang.Boolean pierce)
    Returns the root DOM node (and optionally the subtree) to the caller.
    GetFrameOwnerResult getFrameOwner​(java.lang.String frameId)
    Returns iframe node that owns iframe with the given domain.
    GetNodeForLocationResult getNodeForLocation​(java.lang.Integer x, java.lang.Integer y)
    Returns node id at given location.
    GetNodeForLocationResult getNodeForLocation​(java.lang.Integer x, java.lang.Integer y, java.lang.Boolean includeUserAgentShadowDOM, java.lang.Boolean ignorePointerEventsNone)
    Returns node id at given location.
    StackTrace getNodeStackTraces​(java.lang.Integer nodeId)
    Gets stack traces associated with a Node.
    java.lang.String getOuterHTML()
    Returns node's HTML markup.
    java.lang.String getOuterHTML​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
    Returns node's HTML markup.
    java.lang.Integer getRelayoutBoundary​(java.lang.Integer nodeId)
    Returns the id of the nearest ancestor that is a relayout boundary.
    java.util.List<java.lang.Integer> getSearchResults​(java.lang.String searchId, java.lang.Integer fromIndex, java.lang.Integer toIndex)
    Returns search results from given `fromIndex` to given `toIndex` from the search with the given identifier.
    void hideHighlight()
    Hides any highlight.
    void highlightNode()
    Highlights DOM node.
    void highlightRect()
    Highlights given rectangle.
    void markUndoableState()
    Marks last undoable state.
    java.lang.Integer moveTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId)
    Moves node into the new container, places it before the given anchor.
    java.lang.Integer moveTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId, java.lang.Integer insertBeforeNodeId)
    Moves node into the new container, places it before the given anchor.
    PerformSearchResult performSearch​(java.lang.String query)
    Searches for a given string in the DOM tree.
    PerformSearchResult performSearch​(java.lang.String query, java.lang.Boolean includeUserAgentShadowDOM)
    Searches for a given string in the DOM tree.
    java.lang.Integer pushNodeByPathToFrontend​(java.lang.String path)
    Requests that the node is sent to the caller given its path.
    java.util.List<java.lang.Integer> pushNodesByBackendIdsToFrontend​(java.util.List<java.lang.Integer> backendNodeIds)
    Requests that a batch of nodes is sent to the caller given their backend node ids.
    java.lang.Integer querySelector​(java.lang.Integer nodeId, java.lang.String selector)
    Executes `querySelector` on a given node.
    java.util.List<java.lang.Integer> querySelectorAll​(java.lang.Integer nodeId, java.lang.String selector)
    Executes `querySelectorAll` on a given node.
    void redo()
    Re-does the last undone action.
    void removeAttribute​(java.lang.Integer nodeId, java.lang.String name)
    Removes attribute with given name from an element with given id.
    void removeNode​(java.lang.Integer nodeId)
    Removes node with given id.
    void requestChildNodes​(java.lang.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​(java.lang.Integer nodeId, java.lang.Integer depth, java.lang.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.
    java.lang.Integer requestNode​(java.lang.String objectId)
    Requests that the node is sent to the caller given the JavaScript node object reference.
    RemoteObject resolveNode()
    Resolves the JavaScript node object for a given NodeId or BackendNodeId.
    RemoteObject resolveNode​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectGroup, java.lang.Integer executionContextId)
    Resolves the JavaScript node object for a given NodeId or BackendNodeId.
    void setAttributesAsText​(java.lang.Integer nodeId, java.lang.String text)
    Sets attributes on element with given id.
    void setAttributesAsText​(java.lang.Integer nodeId, java.lang.String text, java.lang.String name)
    Sets attributes on element with given id.
    void setAttributeValue​(java.lang.Integer nodeId, java.lang.String name, java.lang.String value)
    Sets attribute for an element with given id.
    void setFileInputFiles​(java.util.List<java.lang.String> files)
    Sets files for the given file input element.
    void setFileInputFiles​(java.util.List<java.lang.String> files, java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
    Sets files for the given file input element.
    void setInspectedNode​(java.lang.Integer nodeId)
    Enables console to refer to the node with given id via (see Command Line API for more details functions).
    java.lang.Integer setNodeName​(java.lang.Integer nodeId, java.lang.String name)
    Sets node name for a node with given id.
    void setNodeStackTracesEnabled​(java.lang.Boolean enable)
    Sets if stack traces should be captured for Nodes.
    void setNodeValue​(java.lang.Integer nodeId, java.lang.String value)
    Sets node value for a node with given id.
    void setOuterHTML​(java.lang.Integer nodeId, java.lang.String outerHTML)
    Sets node HTML markup, returns new node id.
    void undo()
    Undoes the last performed action.
  • Method Details

    • collectClassNamesFromSubtree

      java.util.List<java.lang.String> collectClassNamesFromSubtree​(java.lang.Integer nodeId)
      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

      java.lang.Integer copyTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId, java.lang.Integer insertBeforeNodeId)
      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​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId, java.lang.Integer depth, java.lang.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

      void discardSearchResults​(java.lang.String searchId)
      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.
    • focus

      void focus​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
      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

      java.util.List<java.lang.String> getAttributes​(java.lang.Integer nodeId)
      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​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
      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.
    • getContentQuads

      java.util.List<java.util.List<java.lang.Double>> getContentQuads​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
      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​(java.lang.Integer depth, java.lang.Boolean pierce)
      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.
    • getFlattenedDocument

      java.util.List<Node> getFlattenedDocument​(java.lang.Integer depth, java.lang.Boolean pierce)
      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.
    • getNodeForLocation

      GetNodeForLocationResult getNodeForLocation​(java.lang.Integer x, java.lang.Integer y, java.lang.Boolean includeUserAgentShadowDOM, java.lang.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
    • getOuterHTML

      java.lang.String getOuterHTML​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
      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.
    • getRelayoutBoundary

      java.lang.Integer getRelayoutBoundary​(java.lang.Integer nodeId)
      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

      java.util.List<java.lang.Integer> getSearchResults​(java.lang.String searchId, java.lang.Integer fromIndex, java.lang.Integer toIndex)
      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.
    • 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

      java.lang.Integer moveTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId, java.lang.Integer insertBeforeNodeId)
      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

      PerformSearchResult performSearch​(java.lang.String query, java.lang.Boolean includeUserAgentShadowDOM)
      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

      java.lang.Integer pushNodeByPathToFrontend​(java.lang.String path)
      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

      java.util.List<java.lang.Integer> pushNodesByBackendIdsToFrontend​(java.util.List<java.lang.Integer> backendNodeIds)
      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

      java.lang.Integer querySelector​(java.lang.Integer nodeId, java.lang.String selector)
      Executes `querySelector` on a given node.
      Parameters:
      nodeId - Id of the node to query upon.
      selector - Selector string.
      Returns:
      Query selector result.
    • querySelectorAll

      java.util.List<java.lang.Integer> querySelectorAll​(java.lang.Integer nodeId, java.lang.String selector)
      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

      void removeAttribute​(java.lang.Integer nodeId, java.lang.String name)
      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

      void removeNode​(java.lang.Integer nodeId)
      Removes node with given id.
      Parameters:
      nodeId - Id of the node to remove.
    • requestChildNodes

      void requestChildNodes​(java.lang.Integer nodeId, java.lang.Integer depth, java.lang.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.
      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

      java.lang.Integer requestNode​(java.lang.String objectId)
      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​(java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectGroup, java.lang.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.
    • setAttributeValue

      void setAttributeValue​(java.lang.Integer nodeId, java.lang.String name, java.lang.String value)
      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

      void setAttributesAsText​(java.lang.Integer nodeId, java.lang.String text, java.lang.String name)
      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

      void setFileInputFiles​(java.util.List<java.lang.String> files, java.lang.Integer nodeId, java.lang.Integer backendNodeId, java.lang.String objectId)
      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.
    • setNodeStackTracesEnabled

      void setNodeStackTracesEnabled​(java.lang.Boolean enable)
      Sets if stack traces should be captured for Nodes. See `Node.getNodeStackTraces`. Default is disabled.
      Parameters:
      enable - Enable or disable.
    • getNodeStackTraces

      StackTrace getNodeStackTraces​(java.lang.Integer nodeId)
      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.
    • getFileInfo

      java.lang.String getFileInfo​(java.lang.String objectId)
      Returns file information for the given File wrapper.
      Parameters:
      objectId - JavaScript object id of the node wrapper.
    • setInspectedNode

      void setInspectedNode​(java.lang.Integer nodeId)
      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

      java.lang.Integer setNodeName​(java.lang.Integer nodeId, java.lang.String name)
      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.
    • setNodeValue

      void setNodeValue​(java.lang.Integer nodeId, java.lang.String value)
      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

      void setOuterHTML​(java.lang.Integer nodeId, java.lang.String outerHTML)
      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.
    • getFrameOwner

      GetFrameOwnerResult getFrameOwner​(java.lang.String frameId)
      Returns iframe node that owns iframe with the given domain.
      Returns:
      GetFrameOwnerResult
    • copyTo

      java.lang.Integer copyTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId)
      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.
    • 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.
    • focus

      void focus()
      Focuses the given element.
    • getBoxModel

      BoxModel getBoxModel()
      Returns boxes for the given node.
      Returns:
      Box model for the node.
    • getContentQuads

      java.util.List<java.util.List<java.lang.Double>> 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.
    • getDocument

      Node getDocument()
      Returns the root DOM node (and optionally the subtree) to the caller.
      Returns:
      Resulting node.
    • getFlattenedDocument

      java.util.List<Node> getFlattenedDocument()
      Returns the root DOM node (and optionally the subtree) to the caller.
      Returns:
      Resulting node.
    • getNodeForLocation

      GetNodeForLocationResult getNodeForLocation​(java.lang.Integer x, java.lang.Integer y)
      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
    • getOuterHTML

      java.lang.String getOuterHTML()
      Returns node's HTML markup.
      Returns:
      Outer HTML markup.
    • moveTo

      java.lang.Integer moveTo​(java.lang.Integer nodeId, java.lang.Integer targetNodeId)
      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.
    • performSearch

      PerformSearchResult performSearch​(java.lang.String query)
      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
    • requestChildNodes

      void requestChildNodes​(java.lang.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.
      Parameters:
      nodeId - Id of the node to get children for.
    • resolveNode

      RemoteObject resolveNode()
      Resolves the JavaScript node object for a given NodeId or BackendNodeId.
      Returns:
      JavaScript object wrapper for given node.
    • setAttributesAsText

      void setAttributesAsText​(java.lang.Integer nodeId, java.lang.String text)
      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.
    • setFileInputFiles

      void setFileInputFiles​(java.util.List<java.lang.String> files)
      Sets files for the given file input element.
      Parameters:
      files - Array of file paths to set.