从WebElement列表中查找最大值



目前我可以打印所有这些,但我想找出最大的并只打印该值。

任何人都可以帮助我在Selenium WebdriverJava中为此构建代码。

这是我的代码:

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 方法,它会让事情变得更简单。

相关内容

  • 没有找到相关文章

最新更新