[英]Issue with Recursion in Java. Method is returning empty list
我试图从我的方法返回一个数组列表,该方法实际上使用递归来填充该列表。 但是该方法总是返回一个空列表。 我已经在调试模式下检查过,列表在第二遍就被填充了,但是方法仍然返回0元素。
下面是我的方法的代码。
private static List<WebElement> checkMonth(WebDriver driver) {
List<WebElement> months = driver.findElements(By
.xpath("//div[@class='DayPicker-Caption']"));
List<WebElement> daysList = new ArrayList<WebElement>();
for (WebElement monthEl : months) {
if (monthEl.getText().contains(month)) {
daysList.addAll(driver.findElements(By
.xpath("//div[contains(text(),'" + month
+ "')]/..//div[@aria-disabled='false']/div")));
}
}
if (daysList.size() == 0) {
driver.findElement(
By.xpath("//span[@class='DayPicker-NavButton DayPicker-NavButton--next']"))
.click();
checkMonth(driver);
}
return daysList;
}
您正在进行递归调用
checkMonth(driver)
但忽略该调用返回的List
。
也许您想将该调用的输出添加到您的方法( daysList
列表)返回的整体输出中:
daysList.addAll(checkMonth(driver));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.