Xpath找到没有具有相同文本的div的div

时间:2018-04-09 13:05:52

标签: c# selenium xpath

有这样的结构:

<div> **the div I dont need**
    <div> **the div I need**
        <div>first part of text</div>
        <div>second part of text</div>
    </div>
</div>

我需要div,它包含文本的两个部分,但只能持续这样的div。 我不知道在获取元素的阶段会是哪个文本,我不知道这些元素将在页面上显示多少。 当我尝试

  

By.XPath(&#34; .// div [normalize-space(。)and count(div [normalize-space(。)])   = 0]&#34;)

它给了我2个带有不同文本部分的div。

所以问题是,当没有预定义的文本时,如何让它返回div,它没有相同文本的较小div?

1 个答案:

答案 0 :(得分:1)

只需使用parent::..

转到父元素即可
By.XPath(".//div[normalize-space(.) and count(div[normalize-space(.)]) = 0]/parent::div")

或者

By.XPath(".//div[normalize-space(.) and count(div[normalize-space(.)]) = 0]/..")