目前我可以打印所有这些,但我想找出最大的并只打印该值。
任何人都可以帮助我在Selenium Webdriver和Java中为此构建代码。
这是我的代码:
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");
}
在循环之前,引入将保存最大值的变量,如下所示;
int max = Integer.parseInt(Rating.get(0).getText());
请注意,执行类似 int max = 0;
的操作是错误的(考虑负值列表)。
然后,在您的 for 循环中,您可以像这样检查当前值是否大于最大值;
int tmp = Integer.parseInt(starRating.getText());
if (tmp > max) max = tmp;
当然,你可以用它做一个单行,但这更具可读性。
现在,在您的循环之后,max 将保存列表的最大值,因此您可以简单地打印
System.out.println(max);
顺便说一句,我不知道您的 WebElement 类的方法,但如果它有一个返回 int 的 getValue 方法,它会让事情变得更简单。