我试过了
private WebElement getParent(final WebElement webElement) {
return webElement.findElement(By.xpath(".."));
}
但我得到:
org.openqa.selenium.InvalidSelectorException:给定的选择器..是
无效或不会生成 WebElement。出现以下错误
发生了:
InvalidSelectorError:xpath表达式的结果
“..”是:[对象 XrayWrapper [对象 HTMLDocument]]。它
应该是一个元素。
命令持续时间或超时:10
毫秒
有关此错误的文档,
有没有办法获取当前元素的父元素?谢谢
有几种方法可以实现此目的。如果您坚持使用 XPath 来执行此操作,则需要将上下文节点添加到定位器,如下所示:
WebElement parentElement = childElement.findElement(By.xpath("./.."));
或者,您可以使用JavascriptExecutor
接口,这可能会稍微提高性能。那看起来像这样:
// NOTE: broken into separate statements for clarity. Could be done as one statement.
JavascriptExecutor executor = (JavascriptExecutor)driver;
WebElement parentElement = (WebElement)executor.executeScript("return arguments[0].parentNode;", childElement);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)