如何根据span中的文本获取span的以下元素

问题描述 投票:1回答:2

如何使用跨度内的文本标识span的以下元素。在下面的代码中,我需要使用其文本识别第一个跨度,以便在<li>中找到以下元素。我可以使用其class属性识别span,但我无法使用contains(text(), 'System stopped operation')来识别span标记。我的想法是使用它的类识别第一个跨度,然后找到以下<li>

<span class="text-danger">
      &nbsp;
      <img src="images/crit.gif" width="15" height="15" border="0" align="absbottom" alt="Critical Alarm" title="Critical Alarm">
      &nbsp;System stopped operation
    </span>
    <ul>
      <li>
        The system is not in operation.</li>
    </ul>
    <span class="text-warning">
      &nbsp;
      <img src="images/warn.gif" width="15" height="15" border="0" 
    align="absbottom" alt="Warning Alarm" title="Warning Alarm">
    &nbsp;System restarted
    </span>
    <ul>
      <li>
        System has been restarted.</li>
    </ul>
html selenium html-lists
2个回答
0
投票

要根据相应<li>标记中的文本标识<span>元素,可以使用以下基于xpath的解决方案:

  • 用文本识别<li>系统未运行: //span[contains(., 'System stopped operation')]//following::ul[1]/li
  • 要在系统重新启动时识别带有文本的<li>//span[contains(., 'System restarted')]//following::ul[1]/li

-1
投票

如果你在SPAN下寻找LISPAN,很难从这个问题中得知,所以这两者都是。

您可以使用下面的CSS选择器来查找SPAN

span.text-danger

或者下面的CSS选择器找到所需的LI下的SPAN

span.text-danger + ul li
© www.soinside.com 2019 - 2024. All rights reserved.