有这样的结构:
<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?
答案 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]/..")