2015-08-24 34 views
0

我想在下面的代码中获得文字'拒绝'。获取无标签元素硒的文本

<tr bgcolor="#f0f0f0"> 
    <td class="bodyText" width="45%"> 
    <td class="bodyText" width="55%"> 
     <b>Status:</b> 
     Rejected        
     <input type="checkbox" title="XYZ" disabled=""/> 
     Expired                
     <b>Strategy:</b> 
     <a href="ABC.aspx?accountID=123456&loanAppID=891011&StrategyName="/> 
    </td> 
</tr> 

文本正在改变,我需要相应地验证它。我如何检索文本并进行验证。 我想添加元素

by.xpath(".//b[contains(.,'Status')]") 

并获得子节点。但在这里不知道该怎么做。任何人都可以请帮助以任何方式检索文本?

回答

0

这应该得到你包含的元素(假设没有其他的TD就像这个例子HTML以外的TD)。

driver.findElement(By.cssSelector("td.bodyText[width='55%'])); 

一旦你,你可以做以下之一:

  1. 一个.getText()和“状态:X”做一个正则表达式,其中“X”是你在找什么。

  2. a .getAttribute("innerHTML")并解析HTML的这一部分...可能使用正则表达式。

+0

感谢俺们@JeffC,但也有其他的TD也。截至目前,我已经直接了解了元素的xpath,但不是一个可靠的东西,因为它很容易改变。 – Ashi

+0

请在您关心的区域之外发布一些TD。可能有办法排除这些。 – JeffC