首页 > 解决方案 > 如果显示下一页xpath,点击它并统计下一页的元素,只要下一页存在就继续

问题描述

我为 enabledNextPage 创建了一个独特的 xpath。只要禁用下一页箭头,它就不会在 UI 上找到。但是在while循环中,它给了我找不到元素的错误,这是正确的,我没有找到,它不应该继续while循环。我使用了“try catch”,如果下一页元素不存在,它仍然会运行 while 循环,并在下一行显示错误,即单击它。

List<WebElement> rows = new ArrayList();
rows.addAll(driver.findElements(By.xpath("//*[@class='sortable-row']")));

    while (schedulingModel.nextPageEnabled.isDisplayed())
    {
        nextPageEnabledXpath.click();
        Thread.sleep(3000);
        rows.addAll(driver.findElements(By.xpath("//*[@class='sortable-row']")));
       
    }

标签: javaseleniumselenium-webdriver

解决方案


我宁愿由 实现不同的逻辑,findElements将返回一个下一页箭头或链接的列表,如果大小如果>0那么它必须有下一页链接,如果没有,那么没有下一页链接。

List<WebElement> nextPageList = driver.findElements(By.xpath("xpath of next page arrow"));
if (nextPageList.size() > 0) {
    System.out.println("Next page link is present");
    // code to click on it, or count or whatever.
}
else {
    System.out.println("Next page link is not present");
}

推荐阅读