All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openqa.selenium.devtools.v90.dom.model.Node Maven / Gradle / Ivy

Go to download

Selenium automates browsers. That's it! What you do with that power is entirely up to you.

There is a newer version: 4.0.0-beta-4
Show newest version
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);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy