Как перейти в состояние ELSE, если элемент не виден в IF в селене - PullRequest
0 голосов
/ 04 октября 2019

Я пишу фрагмент кода, в котором в условии 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']) не найден, тогда не выполняется другая часть, что я должен делатьПожалуйста, предложите.

Заранее спасибо

1 Ответ

1 голос
/ 04 октября 2019

Используйте метод size() с findElements, и он начнет работать.

if(driver.findElements(By.xpath("//div[@class='toast lgksToast ']")).size() > 0) {
    System.out.println("fail");
} else {
    System.out.println("pass");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...