循环搜索未知元素的页面

Loop to search page for unknown element

我是 Java 测试自动化的新手,我正在尝试编写一个简单的 for 语句来查找特定帐号的存在,该帐号标识存在的元素。

我的问题是我无法让循​​环多次执行。好像条件为false的时候就直接跳出循环了

我已经搜索完了。任何指针或示例。感谢大家。

这是我要遍历的元素的完整 cssSelector 格式:

   #edit_account_**1201** > div.row.delete-mode.hideout > div.col-md-4 > 
   div.btn.btn-danger.btn-sm

简单地说,我想实现的是因为我知道 edit_account 数字的范围并且格式是遍历范围,比方说 1200 -1250。一旦 element/cssSelector 可见且存在,我就会打破我们的循环。 :-)

     for(int i =1200; i<1250; i++){     
        System.out.println("Checking through now");
        if(driver.findElement(By.cssSelector("#edit_account_"+i+DELETE_CONFIRMATION_BUTTON)).isDisplayed()){
            driver.findElement(By.cssSelector("#edit_account_"+i+DELETE_CONFIRMATION_BUTTON)).click();
            System.out.println("Account number deleted is:" + i);   
            break;
           }
        }

我敢打赌,当您尝试定位初始元素时会遇到异常。你看到异常了吗?如果是这样,你能提供堆栈跟踪吗?

考虑先获取您需要的所有元素:

  List<WebDriver> elements =  driver.FindElements(By....whatever your locator is...)

并且,然后使用循环和 运行 您的断言或条件逻辑遍历列表。

您可以有两种解决方案:

  1. 尝试使用不会引发异常的 driver.FindElements 或
  2. 尝试捕获异常,然后继续回到循环的开头。

    循环{

    try{
      if(){
       driver.findelement....
      }
     }
    catch(){
    
    }
    

    }