2015-04-21 34 views
0

HTML代码的webdriver的getText方法使用Java

<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

'driver.findElement(By.className( “计数”)'? – Maroun

回答

0
  1. 因此,所有我可以建议是采取cssSelector“a.aFilter,跨度”,它会返回两个元件[ 'Not Audited 13', '13' ]

    字符串[]值= driver.findElement(By.id(“aFilterMenu_NotAudited”)的阵列.getText();

那么你正在从第一个的端部截断的第二个元素:

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

看起来有点棘手。

  • 另一种方式是使用XPath:
  • //a[@class='aFilter'][not(self::span)]/text()