首页 > 解决方案 > 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?

标签: htmlxmlseleniumxpath

解决方案


这个 XPath,

//li[normalize-space() = 'Addressing machine wholesaling']

将根据要求选择您的第一个li元素。

也可以看看


推荐阅读