Java+selenium 获取shadow-root的value

在UI测试时候会遇到元素是shadow-root类型的元素,以下方法主要使用JS解决获取其文本值的方法。传入参数为元素的xpath。


1. 获取单个元素的值

public String getShadowElementValue(String locator) {
    JavascriptExecutor js = WebDriver.getDriver();
    String script = "return document.evaluate(\"" + locator + "\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value";
    return (String) js.executeScript(script);
}


    
    XPathResult.FIRST_ORDERED_NODE_TYPE关于XPathResult的用法可以参考 https://www.w3school.com.cn/xmldom/dom_xpathresult.asp 

2. 获取list元素的值,可以根据索引去获取。

    public ArrayList getShadowElementsListValue(String locator) {
        ArrayList rs = new ArrayList<>();
        JavascriptExecutor js = WebDriver.getDriver();
        List<

你可能感兴趣的:(自动化测试Java,java,selenium)