java - 如何获取 <tr> 行中 <td> 或 <th> 的列数?

标签 java selenium-webdriver

当我使用下面的代码片段时,我想获取给定行中的列数

int size = element.findElement(By.xpath("/tr[" + Row + "]")).findElements(By.tagName("td")).size();

我收到一个异常,指出 NoSuchElementException。

下面是 HTML block

<table class="DynamicOrderTable" id="customerOrderHeader">
<tbody>
    <tr style="background-color: rgb(246, 246, 246);">
        <th>Order Number</th>
        <th>Version</th>
        <th>Customer Name</th>
        <th>Order Status</th>
        <th>Order Sub-status</th>
    </tr>
    <tr class="Temp">
        <td class="close" id="orderNumber">
            <div class="clickableText">1234</div>
        </td>
        <td class="close">1</td>
        <td class="close" id="customerName">ABC101</td>
        <td title="OrderResponse Sequence Number:14" class="close" id="orderStatus"><div class="clickableText">Complete</div></td>
        <td class="close">Closed</td>
    </tr>
</tbody>
</table>

当我们有 thead 和 tbody 标签时,如何获取一行中的列数?

最佳答案

您获取列大小的代码是正确的,只需在您的 xpath 中将 /tr 更改为 .//tr 为:-

WebElement element = driver.findElement(By.id("customerOrderHeader"));

int size = element.findElement(By.xpath(".//tr[" + Row + "]")).findElements(By.tagName("td")).size();

或者

int size = element.findElements(By.tagName("tr")).get(Row).findElements(By.tagName("td")).size();

关于java - 如何获取 <tr> 行中 <td> 或 <th> 的列数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39383213/

相关文章:

java - 如何检查变量是否不是数字? java

java - 您发现这种领域驱动设计的观点有什么问题?

python - 如何使用 Selenium webdriver 单击悬停菜单中的链接?

java - 我试图单击列表中的第一个元素,但编译器每次都会抛出异常

c# - Webdriver 在错误的输入元素中输入了错误的文本

java - 登录后设置 session 属性

java - 在 Java 中使用嵌套枚举类型

Java 正则表达式捕获组

selenium - 如何验证 Selenium 中两个单词之间有多个空格的文本?

java - 如何使用 Java 验证 Selenium WebDriver 中的 tooltipText