2015-04-21 63 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()