如果元素在硒的IF中不可见,如何移至ELSE条件

时间:2019-10-04 06:04:44

标签: selenium if-statement automation

我正在编写一段代码,其中在if条件下,我给出一个条件,即如果显示元素,则它们仅进入if部分,否则,如果未显示元素,则应进入其他部分。但是,只要遇到if条件,它就会搜索元素,而找不到元素时,它将给出超时异常。该怎么办?

    public void addaddress() {
            suites.setupEnviroment();
            WebDriver driver = suites.getWebDriver();
            try {
                //code to find elements

                try {
                      if(driver.findElement(By.xpath("//div[@class='toast lgksToast ']")).isDisplayed()){
                        System.out.println("fail");
                      }
                      else{
                          System.out.println("pass");
                      }
                    } catch (Exception e) {
 System.out.println(e);  
                    }
            }catch(Exception e) {
                System.out.println(e);
            }
        }

在上面的代码中,如果未找到具有此xpath的元素(// div [@ class ='toast lgksToast']),则该元素未执行else部分 我该怎么办,请提出建议。

预先感谢

1 个答案:

答案 0 :(得分:1)

size()方法与findElements一起使用,它将开始起作用。

if(driver.findElements(By.xpath("//div[@class='toast lgksToast ']")).size() > 0) {
    System.out.println("fail");
} else {
    System.out.println("pass");
}