首页 > 解决方案 > Selenium JavascriptExecutor document.evaluate 'XPathResult':结果类型不是数字

问题描述

我正在尝试node使用 html 从 div 中获取第一个JavascriptExecutor document.evaluate

String txt = ((JavascriptExecutor)driver)
           .executeScript("return document.evaluate(\"//div[@id = 'SIvCob']/node()[1]\",
                           document, null, XPathResult.ANY_TYPE, null)").toString();

System.out.print(txt);

但我在executeScript

org.openqa.selenium.JavascriptException: 
    javascript error: 
        Failed to read the 'numberValue' property from 'XPathResult': 
            The result type is not a number.

我想要的node是一个简单的文本(没有html标签或其他东西)

我正在使用 ChromeDriver。

标签: selenium

解决方案


我的问题的解决方案是调用stringValue.document.evaluate(...)

像这样:document.evaluate(...).stringValue


推荐阅读