Xpath SeleniumWebDriver中的高级导航
我有下面的HTMLXpath SeleniumWebDriver中的高级导航,xpath,selenium,webdriver,selenium-webdriver,Xpath,Selenium,Webdriver,Selenium Webdriver,我有下面的HTML <div id="element1">welcome</div> <div>username</div> 现在的问题是,我必须选择element1旁边的下一个div元素。我知道,我可以从它们的父级构建xpath。但我需要选择一个元素旁边的元素。如何可能?您可以使用以下兄弟姐妹: 使用 这将选择element1节点之后的所有同级元素: 这将选择element1节点之后的第一个同级元素: 这将选择element1节点之后的
<div id="element1">welcome</div>
<div>username</div>
现在的问题是,我必须选择element1旁边的下一个div元素。我知道,我可以从它们的父级构建xpath。但我需要选择一个元素旁边的元素。如何可能?您可以使用以下兄弟姐妹:
使用
这将选择element1节点之后的所有同级元素:
这将选择element1节点之后的第一个同级元素:
这将选择element1节点之后的第一个同级节点(如果它是元素):
所有这三个示例都将选择您的元素,如果还有更多匹配项,可能还会选择更多元素,因此选择一个最适合您的意图的元素
请注意,您也可以使用。它相当于最后一个XPath。而且会更快
元素1+div
@巴拜:是的。以下同级节点::*[1][local name.='div']获取以下第一个同级节点,然后测试节点名称是否为div.Yes。。这意味着我现在慢慢地得到了xpath@Slanec,跟在兄弟姐妹之后::div[1]和跟在兄弟姐妹之后::*[1][local name.='div']在我的情况下是一样的,对吧?@Karthikeyan是的,在你的情况下也是一样的。
driver.findElement(By.id("element1")).findElement(By.xpath("./following-sibling::div"));
id('element1')/following-sibling::div
id('element1')/following-sibling::div[1]
id('element1')/following-sibling::*[1][local-name(.)='div']