2017-02-13 36 views
0

我使用下面的代碼來找到某一個元素,並使用以下XPath提取出來。但在一些頁面中,它們不可用。條件操作中硒

我該如何繼續?

供參考下面的代碼是失敗的。

String founded=driver.findElement(By.xpath("//*[contains(text(),'Founded')]//following::dd[1]")).getText(); 
if(founded.isEmpty()) 
{ 
    founded="NA"; 
    System.out.println(founded); 
} 
+0

請添加任何錯誤和/或例外+堆棧跟蹤您收到您的問題。如果你不告訴我們我們只能猜測確切的問題。我的猜測是你的問題是:findElement方法在找不到元素時會拋出NoSuchElementException異常(正如你可以從閱讀它的文檔中看到的那樣)。如果你想處理這種情況,沒有發現任何元素,你必須捕捉並處理該異常 –

回答

0

你應該嘗試使用​​而不是返回的WebElement或空列表或者列表。因此,只需檢查空列表如下: -

String founded = ""; 

List<WebElement> list = driver.findElements(By.xpath("//*[contains(text(),'Founded')]//following::dd[1]")); 

if(list.isEmpty() || list.get(0).getText() == null || list.get(0).getText().isEmpty()) 
{ 
    founded = "NA"; 
}else { 
    founded = list.get(0).getText(); 
}  
System.out.println(founded);