我有我在 Selenium 测试中搜索的 html,只有在父级没有文本的情况下,我才想通过其文本找到子级:
这是HTML:
<ul>
<li>
<div>
"4"
<span>630</span>
</div>
</li>
<li>
<div>
<span>630</span>
</div>
</li>
<li>
<div>
"6"
<span>630</span>
</div>
</li>
</ul>
使用“//span[.='630']”或“//span[text()='630']”选择文本字符串'630'会产生三个结果,但我只想要中间一个空的父母。我已经尝试了很多不起作用的结构,甚至"//span[.='630' and parent::div[.='']]"
这些结构都导致 3 个结果或没有结果。"//span[text()='630' and parent::div[text='']]"
"//div[text()='']/*[1] | //span[text()='630']"
请注意,当"//span[text()='630'] and .//div[contains(text(),'')]"
检测到文本时,它会返回 true,我需要它来返回元素以便我可以单击它。