4

我有以下 HTML

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

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

4

2 回答 2

6

使用_following-sibling

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

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

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

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

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

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

所有这三个示例都将选择您的元素(如果有更多匹配,可能还会选择更多),因此请选择最适合您意图的一个。


请注意,您也可以使用简单的 CSS 选择器来完成所有这些操作。它相当于最后一个 XPath。而且会更快。

#element1 + div
于 2013-08-27T10:32:44.940 回答
3

您可以使用following-sibling

driver.findElement(By.id("element1")).findElement(By.xpath("./following-sibling::div"));
于 2013-08-27T10:25:22.193 回答