查找具有特定类别的祖先。硒。网络驱动程序。使用 XPath
Posted
技术标签:
【中文标题】查找具有特定类别的祖先。硒。网络驱动程序。使用 XPath【英文标题】:Find an ancestor with a particular class. Selenium. WebDriver. Using XPath 【发布时间】:2021-06-07 09:44:00 【问题描述】:我正在尝试查找 XPath 查询来获取我的元素的祖先,即 div
和 class='row publication-detail teaser'
。
我目前正在做的事情如下:
element.findElements(By.xpath("//ancestor::div[@class='row publication-detail teaser']"));
问题是,它返回了div[@class='row publication-detail teaser']
的所有兄弟姐妹。而且我只需要我的元素祖先。
我做错了什么?
【问题讨论】:
我想我找到了第一个问题:我应该从./
相对路径开始,我认为当你从 //
开始时它开始到处寻找。那并没有完全解决我的问题。对于那些可能在该主题中被迭代的人 - 我发现了一个很酷的备忘单:devhints.io/xpath
【参考方案1】:
你几乎是正确的,但findElements
会给你元素列表而不是使用findElement
尝试像这样替换您的代码:
element.findElement(By.xpath("your web element here from where you want to go to ancestor, then use ancestor like this //ancestor::div[@class='row publication-detail teaser']"));
【讨论】:
以上是关于查找具有特定类别的祖先。硒。网络驱动程序。使用 XPath的主要内容,如果未能解决你的问题,请参考以下文章