org.openqa.selenium.devtools.v90.dom.model.Node Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of selenium-devtools-v90 Show documentation
Show all versions of selenium-devtools-v90 Show documentation
Selenium automates browsers. That's it! What you do with that power is entirely up to you.
package org.openqa.selenium.devtools.v90.dom.model;
import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;
/**
* DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes.
* DOMNode is a base node mirror type.
*/
public class Node {
private final org.openqa.selenium.devtools.v90.dom.model.NodeId nodeId;
private final java.util.Optional parentId;
private final org.openqa.selenium.devtools.v90.dom.model.BackendNodeId backendNodeId;
private final java.lang.Integer nodeType;
private final java.lang.String nodeName;
private final java.lang.String localName;
private final java.lang.String nodeValue;
private final java.util.Optional childNodeCount;
private final java.util.Optional> children;
private final java.util.Optional> attributes;
private final java.util.Optional documentURL;
private final java.util.Optional baseURL;
private final java.util.Optional publicId;
private final java.util.Optional systemId;
private final java.util.Optional internalSubset;
private final java.util.Optional xmlVersion;
private final java.util.Optional name;
private final java.util.Optional value;
private final java.util.Optional pseudoType;
private final java.util.Optional shadowRootType;
private final java.util.Optional frameId;
private final java.util.Optional contentDocument;
private final java.util.Optional> shadowRoots;
private final java.util.Optional templateContent;
private final java.util.Optional> pseudoElements;
private final java.util.Optional importedDocument;
private final java.util.Optional> distributedNodes;
private final java.util.Optional isSVG;
public Node(org.openqa.selenium.devtools.v90.dom.model.NodeId nodeId, java.util.Optional parentId, org.openqa.selenium.devtools.v90.dom.model.BackendNodeId backendNodeId, java.lang.Integer nodeType, java.lang.String nodeName, java.lang.String localName, java.lang.String nodeValue, java.util.Optional childNodeCount, java.util.Optional> children, java.util.Optional> attributes, java.util.Optional documentURL, java.util.Optional baseURL, java.util.Optional publicId, java.util.Optional systemId, java.util.Optional internalSubset, java.util.Optional xmlVersion, java.util.Optional name, java.util.Optional value, java.util.Optional pseudoType, java.util.Optional shadowRootType, java.util.Optional frameId, java.util.Optional contentDocument, java.util.Optional> shadowRoots, java.util.Optional templateContent, java.util.Optional> pseudoElements, java.util.Optional importedDocument, java.util.Optional> distributedNodes, java.util.Optional isSVG) {
this.nodeId = java.util.Objects.requireNonNull(nodeId, "nodeId is required");
this.parentId = parentId;
this.backendNodeId = java.util.Objects.requireNonNull(backendNodeId, "backendNodeId is required");
this.nodeType = java.util.Objects.requireNonNull(nodeType, "nodeType is required");
this.nodeName = java.util.Objects.requireNonNull(nodeName, "nodeName is required");
this.localName = java.util.Objects.requireNonNull(localName, "localName is required");
this.nodeValue = java.util.Objects.requireNonNull(nodeValue, "nodeValue is required");
this.childNodeCount = childNodeCount;
this.children = children;
this.attributes = attributes;
this.documentURL = documentURL;
this.baseURL = baseURL;
this.publicId = publicId;
this.systemId = systemId;
this.internalSubset = internalSubset;
this.xmlVersion = xmlVersion;
this.name = name;
this.value = value;
this.pseudoType = pseudoType;
this.shadowRootType = shadowRootType;
this.frameId = frameId;
this.contentDocument = contentDocument;
this.shadowRoots = shadowRoots;
this.templateContent = templateContent;
this.pseudoElements = pseudoElements;
this.importedDocument = importedDocument;
this.distributedNodes = distributedNodes;
this.isSVG = isSVG;
}
/**
* Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend
* will only push node with given `id` once. It is aware of all requested nodes and will only
* fire DOM events for nodes known to the client.
*/
public org.openqa.selenium.devtools.v90.dom.model.NodeId getNodeId() {
return nodeId;
}
/**
* The id of the parent node if any.
*/
public java.util.Optional getParentId() {
return parentId;
}
/**
* The BackendNodeId for this node.
*/
public org.openqa.selenium.devtools.v90.dom.model.BackendNodeId getBackendNodeId() {
return backendNodeId;
}
/**
* `Node`'s nodeType.
*/
public java.lang.Integer getNodeType() {
return nodeType;
}
/**
* `Node`'s nodeName.
*/
public java.lang.String getNodeName() {
return nodeName;
}
/**
* `Node`'s localName.
*/
public java.lang.String getLocalName() {
return localName;
}
/**
* `Node`'s nodeValue.
*/
public java.lang.String getNodeValue() {
return nodeValue;
}
/**
* Child count for `Container` nodes.
*/
public java.util.Optional getChildNodeCount() {
return childNodeCount;
}
/**
* Child nodes of this node when requested with children.
*/
public java.util.Optional> getChildren() {
return children;
}
/**
* Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.
*/
public java.util.Optional> getAttributes() {
return attributes;
}
/**
* Document URL that `Document` or `FrameOwner` node points to.
*/
public java.util.Optional getDocumentURL() {
return documentURL;
}
/**
* Base URL that `Document` or `FrameOwner` node uses for URL completion.
*/
public java.util.Optional getBaseURL() {
return baseURL;
}
/**
* `DocumentType`'s publicId.
*/
public java.util.Optional getPublicId() {
return publicId;
}
/**
* `DocumentType`'s systemId.
*/
public java.util.Optional getSystemId() {
return systemId;
}
/**
* `DocumentType`'s internalSubset.
*/
public java.util.Optional getInternalSubset() {
return internalSubset;
}
/**
* `Document`'s XML version in case of XML documents.
*/
public java.util.Optional getXmlVersion() {
return xmlVersion;
}
/**
* `Attr`'s name.
*/
public java.util.Optional getName() {
return name;
}
/**
* `Attr`'s value.
*/
public java.util.Optional getValue() {
return value;
}
/**
* Pseudo element type for this node.
*/
public java.util.Optional getPseudoType() {
return pseudoType;
}
/**
* Shadow root type.
*/
public java.util.Optional getShadowRootType() {
return shadowRootType;
}
/**
* Frame ID for frame owner elements.
*/
public java.util.Optional getFrameId() {
return frameId;
}
/**
* Content document for frame owner elements.
*/
public java.util.Optional getContentDocument() {
return contentDocument;
}
/**
* Shadow root list for given element host.
*/
public java.util.Optional> getShadowRoots() {
return shadowRoots;
}
/**
* Content document fragment for template elements.
*/
public java.util.Optional getTemplateContent() {
return templateContent;
}
/**
* Pseudo elements associated with this node.
*/
public java.util.Optional> getPseudoElements() {
return pseudoElements;
}
/**
* Import document for the HTMLImport links.
*/
public java.util.Optional getImportedDocument() {
return importedDocument;
}
/**
* Distributed nodes for given insertion point.
*/
public java.util.Optional> getDistributedNodes() {
return distributedNodes;
}
/**
* Whether the node is SVG.
*/
public java.util.Optional getIsSVG() {
return isSVG;
}
private static Node fromJson(JsonInput input) {
org.openqa.selenium.devtools.v90.dom.model.NodeId nodeId = null;
java.util.Optional parentId = java.util.Optional.empty();
org.openqa.selenium.devtools.v90.dom.model.BackendNodeId backendNodeId = null;
java.lang.Integer nodeType = 0;
java.lang.String nodeName = null;
java.lang.String localName = null;
java.lang.String nodeValue = null;
java.util.Optional childNodeCount = java.util.Optional.empty();
java.util.Optional> children = java.util.Optional.empty();
java.util.Optional> attributes = java.util.Optional.empty();
java.util.Optional documentURL = java.util.Optional.empty();
java.util.Optional baseURL = java.util.Optional.empty();
java.util.Optional publicId = java.util.Optional.empty();
java.util.Optional systemId = java.util.Optional.empty();
java.util.Optional internalSubset = java.util.Optional.empty();
java.util.Optional xmlVersion = java.util.Optional.empty();
java.util.Optional name = java.util.Optional.empty();
java.util.Optional value = java.util.Optional.empty();
java.util.Optional pseudoType = java.util.Optional.empty();
java.util.Optional shadowRootType = java.util.Optional.empty();
java.util.Optional frameId = java.util.Optional.empty();
java.util.Optional contentDocument = java.util.Optional.empty();
java.util.Optional> shadowRoots = java.util.Optional.empty();
java.util.Optional templateContent = java.util.Optional.empty();
java.util.Optional> pseudoElements = java.util.Optional.empty();
java.util.Optional importedDocument = java.util.Optional.empty();
java.util.Optional> distributedNodes = java.util.Optional.empty();
java.util.Optional isSVG = java.util.Optional.empty();
input.beginObject();
while (input.hasNext()) {
switch(input.nextName()) {
case "nodeId":
nodeId = input.read(org.openqa.selenium.devtools.v90.dom.model.NodeId.class);
break;
case "parentId":
parentId = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.NodeId.class));
break;
case "backendNodeId":
backendNodeId = input.read(org.openqa.selenium.devtools.v90.dom.model.BackendNodeId.class);
break;
case "nodeType":
nodeType = input.nextNumber().intValue();
break;
case "nodeName":
nodeName = input.nextString();
break;
case "localName":
localName = input.nextString();
break;
case "nodeValue":
nodeValue = input.nextString();
break;
case "childNodeCount":
childNodeCount = java.util.Optional.ofNullable(input.nextNumber().intValue());
break;
case "children":
children = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "attributes":
attributes = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "documentURL":
documentURL = java.util.Optional.ofNullable(input.nextString());
break;
case "baseURL":
baseURL = java.util.Optional.ofNullable(input.nextString());
break;
case "publicId":
publicId = java.util.Optional.ofNullable(input.nextString());
break;
case "systemId":
systemId = java.util.Optional.ofNullable(input.nextString());
break;
case "internalSubset":
internalSubset = java.util.Optional.ofNullable(input.nextString());
break;
case "xmlVersion":
xmlVersion = java.util.Optional.ofNullable(input.nextString());
break;
case "name":
name = java.util.Optional.ofNullable(input.nextString());
break;
case "value":
value = java.util.Optional.ofNullable(input.nextString());
break;
case "pseudoType":
pseudoType = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.PseudoType.class));
break;
case "shadowRootType":
shadowRootType = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.ShadowRootType.class));
break;
case "frameId":
frameId = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.page.model.FrameId.class));
break;
case "contentDocument":
contentDocument = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.Node.class));
break;
case "shadowRoots":
shadowRoots = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "templateContent":
templateContent = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.Node.class));
break;
case "pseudoElements":
pseudoElements = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "importedDocument":
importedDocument = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.Node.class));
break;
case "distributedNodes":
distributedNodes = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "isSVG":
isSVG = java.util.Optional.ofNullable(input.nextBoolean());
break;
default:
input.skipValue();
break;
}
}
input.endObject();
return new Node(nodeId, parentId, backendNodeId, nodeType, nodeName, localName, nodeValue, childNodeCount, children, attributes, documentURL, baseURL, publicId, systemId, internalSubset, xmlVersion, name, value, pseudoType, shadowRootType, frameId, contentDocument, shadowRoots, templateContent, pseudoElements, importedDocument, distributedNodes, isSVG);
}
}