【发布时间】:2020-06-10 21:26:20
【问题描述】:
我有在 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[.='']]" 或 "//span[text()='630' and parent::div[text='']]" 甚至 "//div[text()='']/*[1] | //span[text()='630']" 但这些都导致 3 个结果或没有。
请注意,当"//span[text()='630'] and .//div[contains(text(),'')]" 检测到文本时,它会返回true,我需要它来返回元素以便我可以点击它。
【问题讨论】:
标签: selenium xpath custom-selectors