我有一个关于在webdriver中遍历表的问题。
我想获取包含条件链接单元格的行的当前索引。
但是结果始终是表的第一行的索引,而不是预期的行。
测试方法如下。

public boolean viewDetailsOfOccasion(String occasionDate) {
WebElement ocassionsTable = (new WebDriverWait(Driver.getDriver(), 5)).until(ExpectedConditions.presenceOfElementLocated(By.tagName("table")));
    List<WebElement> tableRows = ocassionsTable.findElements(By.tagName("tr"));
        for (int i = 0; i < tableRows.size(); i++) {
            List<WebElement> tableCols = tableRows.get(i).findElements(By.xpath("//td/div/a"));
                for (int j = 0; j < tableCols.size(); j++) {
                if (tableCols.get(j).getText().equals(occasionDate)) {
                        System.out.println(i);
                        return true;
                        }
                    }
                }
        return false;
    }


此实现中有什么问题?

最佳答案

我认为您已经忘记了括号,因为内循环将在第一次运行(return true)之后结束:

for (int j = 0; j < tableCols.size(); j++) {
    if (tableCols.get(j).getText().equals(occasionDate)) {
        System.out.println(i);
        return true;
    }
}

08-27 09:01