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

當過.sr_ctext>b沒有找到,套房停止,當找到該元素,成功則返回true假的。返回值從isDisplayed方法

我希望當元素沒有找到時,它應該返回false在文本變量不只是停止代碼。

回答

0

然後,您應該在第一步中獲取WebElement,並且只有在得到的結果不爲null時才檢查isDisplayed。另一種解決方案是將代碼放在try/catch塊中:

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) 
     { 
     } 

只需追加嘗試捕捉處理異常。