Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath SeleniumWebDriver中的高级导航_Xpath_Selenium_Webdriver_Selenium Webdriver - Fatal编程技术网

Xpath SeleniumWebDriver中的高级导航

Xpath 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节点之后的

我有下面的HTML

  <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']