Webdriver getText 方法,使用 Java 截断



>HTML Code

<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,提供解决方案或建议来截断 span 类计数,即"13"

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

    String[] value = driver.findElement(By.id("aFilterMenu_NotAudited").getText();

然后,您将从第一个元素的末尾截断第二个元素:

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

看起来有点棘手。

  1. 另一种方法是使用 xpath:

//a[@class='aFilter'][not(self::span)]/text()

最新更新