checkXpath()

in robot-server-plugin/src/main/resources/static/xpathEditor.js [38:60]


    checkXpath() {
        try {
            const xpath = this.xpathTextField.value
            const elementsFoundByXpath = this._countElementByXpath(xpath)

            if (elementsFoundByXpath !== 1) {
                this.xpathTextField.setAttribute("class", "badXpath")
                this.xpathLabel.textContent = `${elementsFoundByXpath} matches`
            } else {
                const result = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null).iterateNext();
                if (result === this.element) {
                    this.xpathTextField.setAttribute("class", "goodXpath")
                    this.xpathLabel.textContent = `1 match!`
                } else {
                    this.xpathTextField.setAttribute("class", "badXpath")
                    this.xpathLabel.textContent = `matched wrong element`
                }
            }
        } catch (e) {
            this.xpathTextField.setAttribute("class", "invalidXpath")
            this.xpathLabel.textContent = `invalid xpath`
        }
    }