使用 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-sibling
或 preceding
【参考方案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的元素列表?