在selenium webdriver中进行导航

时间:2013-08-27 10:07:07

标签: xpath selenium webdriver selenium-webdriver

我有以下HTML

  <div id="element1">welcome</div>
  <div>username</div>

现在的问题是,我必须选择“element1”旁边的下一个div元素。我知道,我可以从他们的父母那里建立xpath。但我需要选择一个非常接近元素的东西。怎么可能?

2 个答案:

答案 0 :(得分:6)

使用the following-sibling axis

这将选择<div>节点之后的所有同级element1元素:

id('element1')/following-sibling::div

这将选择<div>节点后的第一个兄弟element1元素:

id('element1')/following-sibling::div[1]

这将选择element1节点之后的第一个兄弟节点iff它是<div>元素:

id('element1')/following-sibling::*[1][local-name(.)='div']

所有这三个例子都会选择你的元素(如果有更多的匹配,可能会选择更多的元素),所以选择一个最符合你意图的元素。


请注意,您也可以使用a simple CSS selector完成所有这些操作。它相当于最后一个XPath。它会更快。

#element1 + div

答案 1 :(得分:3)

您可以使用following-sibling

driver.findElement(By.id("element1")).findElement(By.xpath("./following-sibling::div"));