2016-04-28 215 views
2

我是SELENIUM的新手,所以如果問題聽起來很愚蠢,請保留備用。 我的TRY塊會拋出NoSuchElementException異常,但我的CATCH塊無法繼續。 在我的自動化套件中,我有時會得到一個包含btnOk元素的頁面(每天首次登錄),所以我正在嘗試處理這種情況,如果頁面出現,然後單擊它並繼續以其他方式繼續。 下面的代碼片段:無法捕捉異常NoSuchElementException

try { 
     WebElement submitbuttonPresence=driver.findElement(By.id("btnOk")); 
     submitbuttonPresence.click(); 
    } 
    catch (NoSuchElementException e) { 
     System.out.println(driver.getTitle()); 
    } 

回答

5

看來你發現了一個不正確的異常。試試下面的代碼:

try { 
    WebElement submitbuttonPresence=driver.findElement(By.id("btnOk")); 
    submitbuttonPresence.click(); 
} 
catch (org.openqa.selenium.NoSuchElementException e) { 
    System.out.println(driver.getTitle()); 
} 
+0

Buaban - 以下是出現在線程「主要」 org.openqa.selenium.NoSuchElementException異常異常:找不到元素:{「方法」:「ID」, 「選擇器」:「btnOk」} 命令持續時間或超時時間:10.04秒 有關此錯誤的文檔,請訪問:http://seleniumhq.org/exceptions/no_such_element.html 構建信息:版本:'2.53.0' ,修改:'35ae25b',時間:'2016-03-15 16:57:40' 系統信息:主機:'Kishore-PC',ip:'135.250.77.106',操作系統名稱:'Windows 7', os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_51' 驅動程序信息:org.openqa.selenium.firefox.Firefox驅動程序 – Ravi

+0

@Ravi你的意思是我的代碼無法捕捉異常? – Buaban

+0

下面幫助將「NoSuchElementException」替換爲「org.openqa.selenium.NoSuchElementException」在我上面的評論中提到的異常來自我的代碼! – Ravi

3

有兩個NoSuchElementException,一個在java.util,一個在org.openqa.selenium。爲了趕上WebDriver例外,你需要第二個

import org.openqa.selenium.NoSuchElementException