【问题标题】:retrieving text in selenium using xpath?使用xpath检索硒中的文本?
【发布时间】:2011-03-08 08:08:46
【问题描述】:

您好,我有这个 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>

如何使用 xpath 和 selenium ruby​​ 检索 &lt;li&gt; 值,以便我返回 "Low Alarm at 2010/06/25 07:09 Pacific"

我不知道时间和日期是什么,但我知道&lt;li&gt; 标签总是以Low Alarm 开头

谢谢

对不起,我无法更好地表达这个问题。

【问题讨论】:

  • 能把li前面的html结构呈现出来吗?即你感兴趣的li元素的父母?

标签: ruby-on-rails ruby xpath selenium


【解决方案1】:

您需要使用getText 命令使用合适的定位器检索文本。您可以使用一些可能的定位器,下面列出了一些建议:

XPath:

  • 使用类 time_helper 根据子跨度定位 li

    //li[span[@class='time_helper']]
    
  • 根据以“Low Alarm”开头的文本定位 li

    //li[starts-with(text(), 'Low Alarm')]
    
  • 根据包含'Low Alarm'的文本定位li

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

CSS:

  • 根据以“Low Alarm”开头的文本定位 li

    css=li:contains(^Low Alarm)
    
  • 根据包含'Low Alarm'的文本定位li

    css=li:contains(Low Alarm)
    

【讨论】:

【解决方案2】:

您是否有理由专门为此尝试使用 xpath 定位器? CSS 定位器也可以完成这项工作,例如

css=li:contains('Low Alarm')

【讨论】:

    猜你喜欢
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多