получить текст в селене с помощью xpath? - PullRequest
1 голос
/ 25 июня 2010

Привет, у меня есть этот HTML-код:

<tr class="odd events" style="">
<tr>
  <a title="Expand to see Actions" class="toggleEvent" name="actions_for_host_1" href="#"></a>
  <td id="7" colspan="6">
    <div>
      <ul>
        <li>Low Alarm at 2010/06/25 07:09 ( <span title="2010/06/25 14:09 (UTC)" class="time_helper">Pacific</span> )</li>
      </ul>
      <div></div>
    </div>
  </td>
</tr>

Как я могу получить значение <li>, используя xpath и селеновый рубин, поэтому я возвращаюсь "Low Alarm at 2010/06/25 07:09 Pacific"?

Я не знаюНе знаю, какие будут время и дата, но я знаю, что тег <li> всегда будет начинаться с Low Alarm

спасибо

извините, я не мог сформулировать вопрос лучше.

Ответы [ 2 ]

4 голосов
/ 26 июня 2010

Вам нужно использовать команду getText, чтобы получить текст, используя подходящий локатор. Есть несколько возможных локаторов, которые вы могли бы использовать, некоторые предложения перечислены ниже:

XPath:

  • найдите li на основе дочернего диапазона с классом time_helper

    //li[span[@class='time_helper']]
    
  • найдите li на основе текста, начинающегося с «Low Alarm»

    //li[starts-with(text(), 'Low Alarm')]
    
  • найдите li на основе текста, содержащего «Low Alarm»

    //li[contains(text(), 'Low Alarm')]
    

CSS:

  • найдите li на основе текста, начинающегося с «Low Alarm»

    css=li:contains(^Low Alarm)
    
  • найдите li на основе текста, содержащего 'Low Alarm'

    css=li:contains(Low Alarm)
    
2 голосов
/ 25 июня 2010

Есть ли причина, по которой вы специально пытаетесь использовать для этого локатор xpath?CSS-локатор может выполнять эту работу также хорошо, например,

css=li:contains('Low Alarm')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...