Xpath /获得具有一定价值的最接近的祖先

时间:2014-02-18 15:41:08

标签: selenium xpath

我希望获得具有某些属性的WebElement最接近的祖先。

例如:

<div>
    <i value1= "hello">
       <a value1 = "bye">
          <div id="2"> Hello </div></a></i></div>

我在WebElment中有一个显示Jave

div (id="2")

如何获得具有value1属性的最近亲?

在这种情况下,我会使用a获取元素value1="bye"

我尝试下一个:divElement.findElement(By.xpath("/ancestor-or-self::*[@value1]"));但这不起作用。

2 个答案:

答案 0 :(得分:3)

尝试相对XPath表达式,即从./而不是/开始:

divElement.findElement(By.xpath("./ancestor-or-self::*[@value1][1]"));

答案 1 :(得分:-1)

您是否看过这个答案here。我相信你需要的东西

WebElement element = driver.findElement(By.xpath("//div[@id='2']/preceding::*[@value1][1]"));

那就是说,我不确定你为什么需要这样做。你能详细说明一下吗?