使用Java的截断的Webdriver getText方法

时间:2015-04-21 07:51:52

标签: java selenium

Html代码

<table id="tblRenewalsFiled" class="StatusList" width="100%" cellspacing="0" cellpadding="0" border="0">
  <tbody data-bind="foreach: RenewalFilterModels">
   <tr>
    <td>
      <a id="aFilterMenu_NotAudited" class="aFilter" 
         data-bind="click: $parent.ShowFilter, attr:{'id':'aFilterMenu_' + StatusName}" href="#">
Not Audited
        <span class="count">13</span>
      </a>
    </td>
  </tr>
  </tbody>
</table>

从上面开始,当我使用getText方法时,它会返回“Not Audited 13

String filterValue = driver.findElement(By.id("aFilterMenu_NotAudited").getText();

我的期望仅适用于Not Audited,提供一个解决方案或建议来截断范围类别数,即“13”

1 个答案:

答案 0 :(得分:0)

  1. 所以我所能提出的建议是采用cssSelector&#34; a.aFilter,span&#34;,它将返回一个包含两个元素的数组[ 'Not Audited 13', '13' ]

    String [] value = driver.findElement(By.id(&#34; aFilterMenu_NotAudited&#34;)。getText();

  2. 然后你从第一个元素的末尾截断第二个元素:

    String myText = value[0].substring(0, value[0].length() - value[1].length());
    

    看起来有点棘手。

    1. 另一种方法是使用xpath:
    2. //a[@class='aFilter'][not(self::span)]/text()