2014-10-08 5 views
0
boolean text = driver.findElement(By.cssSelector(".sr_ctext>b")).isDisplayed(); 
System.out.println(text); 

когда-либо .sr_ctext>b не найден, люкс останавливается, и когда будет найден элемент успешно, то true возвращается.возвращаемого значения от ложного метода isDisplayed

Я хочу, чтобы элемент не был найден, тогда он должен возвращать значение false в текстовой переменной, а не просто останавливать код.

ответ

0

Затем вы должны получить WebElement на первом шаге и проверить только isDisplayed, если вы получите результат, который не является нулевым. Другое решение было бы поместить ваш код в Try/поймать блок:

boolean text; 
try 
{ 
    text = driver.findElement(By.cssSelector(".sr_ctext>b")).isDisplayed(); 
} 
catch (NoSuchElementException e) 
{ 
    text = false; 
} 
System.out.println(text); 
0

Кодекс останавливается при попытке найти элемент, который не присутствует. Так что лучше, чтобы узнать, существует ли элемент,

boolean isPresent = driver.findElements(By.cssSelector(".sr_ctext>b")).size() > 0; 

if(isPresent==true){ 

    boolean text = driver.findElement(By.cssSelector(".sr_ctext>b")).isDisplayed(); 
    System.out.println(text); 

} 

else{ 
    text=isPresent; //false, in your case 
    } 
0
  try 
     { 
     text = driver.findElement(By.cssSelector(".sr_ctext>b")).isDisplayed(); 
     } 
     catch (Exception NoSuchElementException) 
     { 
     } 

Просто добавьте попытаться поймать исключение ручки.

Смежные вопросы