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

org.openqa.selenium.devtools.domsnapshot.model.NodeTreeSnapshot 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-rc-1
Show newest version
package org.openqa.selenium.devtools.domsnapshot.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

/**
 * Table containing nodes.
 */
public class NodeTreeSnapshot {

    private final java.util.Optional> parentIndex;

    private final java.util.Optional> nodeType;

    private final java.util.Optional> nodeName;

    private final java.util.Optional> nodeValue;

    private final java.util.Optional> backendNodeId;

    private final java.util.Optional> attributes;

    private final java.util.Optional textValue;

    private final java.util.Optional inputValue;

    private final java.util.Optional inputChecked;

    private final java.util.Optional optionSelected;

    private final java.util.Optional contentDocumentIndex;

    private final java.util.Optional pseudoType;

    private final java.util.Optional isClickable;

    private final java.util.Optional currentSourceURL;

    private final java.util.Optional originURL;

    public NodeTreeSnapshot(java.util.Optional> parentIndex, java.util.Optional> nodeType, java.util.Optional> nodeName, java.util.Optional> nodeValue, java.util.Optional> backendNodeId, java.util.Optional> attributes, java.util.Optional textValue, java.util.Optional inputValue, java.util.Optional inputChecked, java.util.Optional optionSelected, java.util.Optional contentDocumentIndex, java.util.Optional pseudoType, java.util.Optional isClickable, java.util.Optional currentSourceURL, java.util.Optional originURL) {
        this.parentIndex = parentIndex;
        this.nodeType = nodeType;
        this.nodeName = nodeName;
        this.nodeValue = nodeValue;
        this.backendNodeId = backendNodeId;
        this.attributes = attributes;
        this.textValue = textValue;
        this.inputValue = inputValue;
        this.inputChecked = inputChecked;
        this.optionSelected = optionSelected;
        this.contentDocumentIndex = contentDocumentIndex;
        this.pseudoType = pseudoType;
        this.isClickable = isClickable;
        this.currentSourceURL = currentSourceURL;
        this.originURL = originURL;
    }

    /**
     * Parent node index.
     */
    public java.util.Optional> getParentIndex() {
        return parentIndex;
    }

    /**
     * `Node`'s nodeType.
     */
    public java.util.Optional> getNodeType() {
        return nodeType;
    }

    /**
     * `Node`'s nodeName.
     */
    public java.util.Optional> getNodeName() {
        return nodeName;
    }

    /**
     * `Node`'s nodeValue.
     */
    public java.util.Optional> getNodeValue() {
        return nodeValue;
    }

    /**
     * `Node`'s id, corresponds to DOM.Node.backendNodeId.
     */
    public java.util.Optional> getBackendNodeId() {
        return backendNodeId;
    }

    /**
     * Attributes of an `Element` node. Flatten name, value pairs.
     */
    public java.util.Optional> getAttributes() {
        return attributes;
    }

    /**
     * Only set for textarea elements, contains the text value.
     */
    public java.util.Optional getTextValue() {
        return textValue;
    }

    /**
     * Only set for input elements, contains the input's associated text value.
     */
    public java.util.Optional getInputValue() {
        return inputValue;
    }

    /**
     * Only set for radio and checkbox input elements, indicates if the element has been checked
     */
    public java.util.Optional getInputChecked() {
        return inputChecked;
    }

    /**
     * Only set for option elements, indicates if the element has been selected
     */
    public java.util.Optional getOptionSelected() {
        return optionSelected;
    }

    /**
     * The index of the document in the list of the snapshot documents.
     */
    public java.util.Optional getContentDocumentIndex() {
        return contentDocumentIndex;
    }

    /**
     * Type of a pseudo element node.
     */
    public java.util.Optional getPseudoType() {
        return pseudoType;
    }

    /**
     * Whether this DOM node responds to mouse clicks. This includes nodes that have had click
     * event listeners attached via JavaScript as well as anchor tags that naturally navigate when
     * clicked.
     */
    public java.util.Optional getIsClickable() {
        return isClickable;
    }

    /**
     * The selected url for nodes with a srcset attribute.
     */
    public java.util.Optional getCurrentSourceURL() {
        return currentSourceURL;
    }

    /**
     * The url of the script (if any) that generates this node.
     */
    public java.util.Optional getOriginURL() {
        return originURL;
    }

    private static NodeTreeSnapshot fromJson(JsonInput input) {
        java.util.Optional> parentIndex = java.util.Optional.empty();
        java.util.Optional> nodeType = java.util.Optional.empty();
        java.util.Optional> nodeName = java.util.Optional.empty();
        java.util.Optional> nodeValue = java.util.Optional.empty();
        java.util.Optional> backendNodeId = java.util.Optional.empty();
        java.util.Optional> attributes = java.util.Optional.empty();
        java.util.Optional textValue = java.util.Optional.empty();
        java.util.Optional inputValue = java.util.Optional.empty();
        java.util.Optional inputChecked = java.util.Optional.empty();
        java.util.Optional optionSelected = java.util.Optional.empty();
        java.util.Optional contentDocumentIndex = java.util.Optional.empty();
        java.util.Optional pseudoType = java.util.Optional.empty();
        java.util.Optional isClickable = java.util.Optional.empty();
        java.util.Optional currentSourceURL = java.util.Optional.empty();
        java.util.Optional originURL = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "parentIndex":
                    parentIndex = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType()));
                    break;
                case "nodeType":
                    nodeType = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType()));
                    break;
                case "nodeName":
                    nodeName = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType()));
                    break;
                case "nodeValue":
                    nodeValue = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType()));
                    break;
                case "backendNodeId":
                    backendNodeId = 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 "textValue":
                    textValue = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareStringData.class));
                    break;
                case "inputValue":
                    inputValue = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareStringData.class));
                    break;
                case "inputChecked":
                    inputChecked = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareBooleanData.class));
                    break;
                case "optionSelected":
                    optionSelected = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareBooleanData.class));
                    break;
                case "contentDocumentIndex":
                    contentDocumentIndex = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareIntegerData.class));
                    break;
                case "pseudoType":
                    pseudoType = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareStringData.class));
                    break;
                case "isClickable":
                    isClickable = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareBooleanData.class));
                    break;
                case "currentSourceURL":
                    currentSourceURL = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareStringData.class));
                    break;
                case "originURL":
                    originURL = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.domsnapshot.model.RareStringData.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new NodeTreeSnapshot(parentIndex, nodeType, nodeName, nodeValue, backendNodeId, attributes, textValue, inputValue, inputChecked, optionSelected, contentDocumentIndex, pseudoType, isClickable, currentSourceURL, originURL);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy