有这样的结构:
<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(".//div[normalize-space(.) and count(div[normalize-space(.)]) = 0]")
它给了我 2 个带有不同文本部分的 div。
所以问题是,当没有预定义的文本时,如何让它返回没有具有相同文本的较小 div 的 div?
只需使用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]/..")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句