目前我可以打印所有这些,但我想找出最大的,只打印那个值。
任何人都可以帮助我在 Selenium Webdriver &中构建代码。 爪哇
这是我的代码:
List <WebElement> Rating = oBrowser.findElements(By.xpath("//span[contains(@class, 'rating-out-of-five')]");
try{
for(WebElement starRating:Rating)
{
System.out.println(starRating.getText());
}
catch(Exception e){
System.out.println("Rating not found");
}
答案 0 :(得分:0)
在循环之前,引入将保持最大值的变量,如此;
int max = Integer.parseInt(Rating.get(0).getText());
注意做int max = 0;
之类的事情是错误的(考虑负值列表)。
然后,在你的for循环中,你可以检查当前值是否大于最大值,如此;
int tmp = Integer.parseInt(starRating.getText());
if (tmp > max) max = tmp;
当然你可以用它制作一个oneliner,但这更具可读性。
现在,在循环之后,max将保持列表的最大值,因此您只需打印
即可System.out.println(max);
顺便说一句,我不知道你的WebElement类的方法,但是如果它有一个getValue这样的方法,它返回一个int就会使事情更简单。