有人可以看看下面的代码。它进入无限循环。请帮忙!
while (findelement("//*[starts-with(@class,'paging-next')]")) {
for (int i = 0; i < Hotel_Name.size(); i++) {
String h = Hotel_Name.get(i).getAttribute("title");
String s = Star_Rating.get(i).getAttribute("class");
System.out.println(h + "|" + s);
}
}
答案 0 :(得分:0)
我假设findelement this(尽管很可能不是因为如果你的代码不能在这种状态下编译)。您需要对while循环执行某些操作,此时它只是找到一个元素,但没有布尔值可以使用。因此,您将返回一个webelement并永远循环。试试这个:
while (findelement("//*[starts-with(@class,'paging-next')]").isDisplayed()) {
for (int i = 0; i < Hotel_Name.size(); i++) {
String h = Hotel_Name.get(i).getAttribute("title");
String s = Star_Rating.get(i).getAttribute("class");
System.out.println(h + "|" + s);
}
}
这样,只有在显示该元素时才会循环,您也可以在启用或选择时指定循环。我们的想法是,您只希望在这些条件为真时运行,而不是在它们为假时运行。