【问题标题】:Get Text from element inside a webtable without using XPath(Selenium Web driver + Java)在不使用 XPath(Selenium Web 驱动程序 + Java)的情况下从 webtable 中的元素获取文本
【发布时间】:2025-12-12 04:55:02
【问题描述】:
<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 可能经常更改。 我怎么能做到这一点?

提前致谢, 迈克

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      driver.findElement(By.className("total ajaxCart_total"))

      【讨论】:

        【解决方案3】:

        我推荐这个 xpath-

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

        【讨论】:

          【解决方案4】:

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

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

          在这种情况下,如果开发人员决定添加另一个 css 类,您仍然是安全的。

          【讨论】:

            最近更新 更多