我想从Dom
的阴影元素中获取文本我试过下面的代码,但它没有用..
public String ShadowRootElement(String str) {
WebElement ele = (WebElement) ((JavascriptExecutor) driver).executeScript("return arguments[0].shadowRoot",getElementByXpath(str));
return ele.findElement(By.xpath("//div[@id='inner-editor']")).getText().toString();
}
请参阅随附的html代码截图链接。
public String getEmailId(String str){
return ShadowRootElement(Repo.get("ipEmailId"));
}
答案 0 :(得分:0)
首先,你拨打ele.findElement(By.xpath("//div[@id='inner-editor']")).getText().toString();
的方式很麻烦。
要在影子根节点下找到元素,By.xpath()
将无效。只有By.id()
& By.cssSelector()
将作为有效的定位器。有关详细信息,请参阅this帖子。
其次(不幸的是),我发现即使你可以在阴影根下找到节点,element.getText()
方法也会返回一个空字符串..简单地说它对我来说也不起作用: - (