在不使用XPath的情况下从Web表中的元素获取Text(Selenium Webdriver + Java)

时间:2012-11-05 06:53:08

标签: java selenium automation automated-tests selenium-webdriver

<table class="shoppingCart" cellspacing="0" cellpadding="0" border="0" width="100%">
<thead>
<tfoot>
<tr>
<tr>
<tr>
<!-- show if promo discount applied -->
<!-- end discount -->
<tr>
<td/>
<td/>
<th scope="row" colspan="2">Order total</th>
<td class="total ajaxCart_total"> $284.96  </td>
</tr>
</tfoot>
<tbody>
</table>

有人可以帮助我吗? 我想在运行时捕获$ 284.96的文本。我不想使用绝对Xpath(// table / tfoot / tr [4] / td [3]),因为页面是动态的,Xpath可能经常更改。 我怎么能这样呢?

先谢谢, 麦克

4 个答案:

答案 0 :(得分:3)

如果所需td中提到的类是唯一的,您可以像这样使用xpath:

//td[@class='total ajaxCart_total']

答案 1 :(得分:1)

driver.findElement(By.className(“total ajaxCart_total”))

答案 2 :(得分:1)

我推荐这个xpath-

"//table[@class='shoppingCart']//td[@class='total ajaxCart_total']"

答案 3 :(得分:1)

如果表格经常变化,最好的选择是:

//td[contains(@class,'total') and contains(@class, 'ajaxCart_total')]

在这种情况下,如果开发者决定添加另一个css类,那么你仍然是安全的。