无法在 HTMLUNITDRIVER 中获取表>>TD 元素的文本



下面是我的HTML页面结构。

<tr>
<td class="checkCol">
<td align="center">
<td> 8 </td>
<td> Add </td>
<td>
<td> Route Translation </td>
<td title=""> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> Force Complete </td>
<td>
<td>
<td>
<td>
</tr>

我正在使用以下代码来检索TD元素值。

List<WebElement> numOfRows = sppOrder_table.findElements(By.tagName("tr"));
    if (numOfRows.size() == 1) {
    System.out.println("No Record");
    } else {
    // Excluding header row
    for (int i = 1; i <= numOfRows.size() - 1; i++) {
        List<WebElement> numOfColumns = ((WebElement) numOfRows.get(i)).findElements(By.tagName("td"));
        for (WebElement td : numOfColumns) {
        System.out.println("Column Value === "+td.getText());
        }
    }

我的表Xpath是正确的。它使用HTMLUNITDRIVE不打印任何内容,使用Firefox运行良好。请就这个问题提出解决方案。

它适用于最新版本。您的案例缺少标头tr元素。

下面打印预期结果:

<table id='myid'>
<tr></tr>
<tr>
  <td class="checkCol">
  <td align="center">
  <td> 8 </td>
  <td> Add </td>
  <td>
  <td> Route Translation </td>
  <td title=""> </td>
  <td> </td>
  <td> </td>
  <td> </td>
  <td> </td>
  <td> Force Complete </td>
  <td>
  <td>
  <td>
  <td>
</tr>
</table>
    HtmlUnitDriver driver = new HtmlUnitDriver();
    driver.get(the_url);
    WebElement sppOrder_table = driver.findElement(By.id("myid"));
    List<WebElement> numOfRows = sppOrder_table.findElements(By.tagName("tr"));
    if (numOfRows.size() == 1) {
        System.out.println("No Record");
    } else {
        // Excluding header row
        for (int i = 1; i <= numOfRows.size() - 1; i++) {
            List<WebElement> numOfColumns = ((WebElement) numOfRows.get(i)).findElements(By.tagName("td"));
            for (WebElement td : numOfColumns) {
                System.out.println("Column Value === "+td.getText());
            }
        }
    }

相关内容

  • 没有找到相关文章

最新更新