我有以下 HTML
<div id="element1">welcome</div>
<div>username</div>
现在的问题是,我必须选择“element1”旁边的下一个 div 元素。我知道,我可以从他们的父母那里建立 xpath。但我需要选择一个非常靠近元素的。怎么可能?
我有以下 HTML
<div id="element1">welcome</div>
<div>username</div>
现在的问题是,我必须选择“element1”旁边的下一个 div 元素。我知道,我可以从他们的父母那里建立 xpath。但我需要选择一个非常靠近元素的。怎么可能?
这将选择节点之后的所有兄弟<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
您可以使用following-sibling
:
driver.findElement(By.id("element1")).findElement(By.xpath("./following-sibling::div"));