html - Selenium XPath 合并跨越文本并查找包含子字符串的元素
问题描述
我在创建 Selenium 查询以使用 XPath 从列表中选择特定元素时遇到问题。我已经尝试过//li[contains(text(), 'Addressing machine wholesaling')]
,但似乎我需要以某种方式合并内部跨度。有没有办法做到这一点?
这是列表的示例。在这种情况下,我需要选择第一个li
元素。
<ul aria-labelledby="businessActivitySuggestionsProbableHeader1" class="anzsicList probable">
<li activity="55" index="0" role="option" class="">
<span class="matchText">Addressing</span>
<span class="matchText">machine</span>
<span class="matchText">wholesaling</span>
</li>
<li activity="4554" index="1" role="option" class="">
<span class="matchText">Machine</span> manufacturing (including accounting,
<span class="matchText">addressing</span>, business, enveloping, letter folding, numbering, photocopying or duplicating)
</li>
</ul>
如果不可能,也许还有其他方法可以做到这一点,而不是使用 XPath?
解决方案
这个 XPath,
//li[normalize-space() = 'Addressing machine wholesaling']
将根据要求选择您的第一个li
元素。