首页 > 解决方案 > 删除项目后检查项目是否成功删除并仅打印一次信息

问题描述

List<WebElement> list= driver.findElements(By.xpath("Abc"));
        for (int i = 0; i< list; i++) {
            if (list.get(i).getText().equals("Newly Created From Automation")) {
                logger.info("Unable to delete Saved Filter Successfully");
            }
            else {
                logger.info("Filter deleted successfully");
            }
         }

我希望 if 条件检查所有元素并仅打印一次 else 条件,如果所有元素的 if 条件为假,但它会继续为每个 webElement 打印 else 中的代码。

标签: javaseleniumselenium-webdriver

解决方案


为了得到你正在寻找的东西,你应该改变你的代码逻辑。
一种可能的方法如下:

  1. 将所有元素文本收集到一个列表中。
  2. 遍历文本。如果找到所需的文本 - 打印相应的输出。如果未找到该文本 - 打印其他输出。
    请参阅下面的代码示例
List<WebElement> list = driver.findElements(By.xpath("Abc"));
List<String> texts = new ArrayList<>();
for(WebElement element : list){
    texts.put(element.getText());
}
boolean found = false;
for(String str: texts) {
if(str.trim().contains("Newly Created From Automation")){
    logger.info("Unable to delete Saved Filter Successfully");
    found = true;
}
if(!found){
    logger.info("Filter deleted successfully");
}

推荐阅读