使用 XPath 和 Selenium for Java 获取下一个兄弟元素

Posted

技术标签:

【中文标题】使用 XPath 和 Selenium for Java 获取下一个兄弟元素【英文标题】:Getting next sibling element using XPath and Selenium for Java 【发布时间】:2015-08-05 02:10:48 【问题描述】:

我知道在使用 Selenium for Java 和 XPath 时可以像这样获得父元素:

WebElement parent = child.findElement(By.xpath(".."));

但是我如何获得一个元素的下一个同级元素,我需要在括号之间放置什么而不是像上面的例子中的两个点?

【问题讨论】:

不确定您是否正在寻找following-sibling 函数。如果可能,请提供您要完成的工作的html 变体:preceding-siblingpreceding 【参考方案1】:

使用following-sibling 轴:

WebElement followingSibling = child.findElement(By.xpath("following-sibling::*"));

MDN 的可用轴列表,供进一步参考:Mozilla Developer Network : Axes

【讨论】:

如果只获取下一个兄弟,请使用following-sibling::*[1]【参考方案2】:

WebElement parent = child.findElement(By.xpath("following-sibling::*[X]"));

X 将是该元素的 Xth 兄弟。

【讨论】:

应该是Xth

以上是关于使用 XPath 和 Selenium for Java 获取下一个兄弟元素的主要内容,如果未能解决你的问题,请参考以下文章

如何使用selenium和python创建具有相同xpath的元素列表?

使用 XPath 和 Selenium 定位类的特定实例

使用包含和小写的xpath的Selenium ChromeDriver

Selenium-xpath详解

Selenium-xpath详解

selenium- Xpath的详细使用