Как получить следующий элемент span на основе текста в span - PullRequest
1 голос
/ 04 апреля 2019

Как определить следующий элемент диапазона, используя текст, который находится внутри диапазона.В приведенном ниже коде мне нужно идентифицировать первый диапазон, используя его текст, чтобы найти следующий элемент в <li>.Я мог бы определить диапазон, используя его атрибут класса, но я не мог использовать 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>

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Трудно сказать по вопросу, ищите ли вы SPAN или LI под SPAN, так что вот оба.

Вы можете использовать селектор CSS ниже, чтобы найтиSPAN

span.text-danger

или селектор CSS ниже, чтобы найти LI под желаемым SPAN

span.text-danger + ul li
0 голосов
/ 04 апреля 2019

Чтобы идентифицировать элемент <li> относительно текста в соответствующем теге <span>, вы можете использовать следующее решение на основе xpath :

  • Чтобы идентифицировать <li> с текстом Система не работает :

    //span[contains(., 'System stopped operation')]//following::ul[1]/li
    
  • Чтобы идентифицировать <li> с текстом как Система была перезапущена :

    //span[contains(., 'System restarted')]//following::ul[1]/li
    
...