java - 如果显示下一页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']")));
}
解决方案
我宁愿由 实现不同的逻辑,这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");
}
推荐阅读
- uiview - UISearchController 在层次结构中额外的意外 UIView
- react-native - React Native:“返回”功能
- javascript - 为什么我得到未定义的 Jquery-ajax
- php - 网站上的 JPF,如何使其正常工作?
- jestjs - Jest 快照测试
- android - 起飞时加载后任务时间表不起作用
- php - 跨域读取阻止 (CORB) 阻止了跨域响应 https://blabla.net/errors/404/,MIME 类型为 text/html
- javascript - 使用 Javascript 在原始文本上创建链接
- c# - 如何在移动设备上仅旋转屏幕的一部分的播放器(立方体)?
- java - 可以使用 Lightcouch 按过滤器查询文档吗?