2014-12-01 43 views
0

我的,我想尋找一個元素的網頁屈指可數,而且如果它存在,獲取文本。但是在異常處理方面我遇到了一些難題。硒:處理爲元素異常可能不存在

我可以使用WebDriverWait:

wait.until(EC.presence_of_element_located((By.XPATH, '//div[@class="className"]'))) 

但是,如果此拋出一個異常,我在技術上沒有辦法知道它是否發生,因爲元素其實是不存在的頁面上,或者由於別的什麼方式(例如,我沒有等待足夠長的時間,或者代碼中存在其他錯誤)。

在我的具體情況我已經能夠通過使用網頁上的一些其他元素的存在來推斷我要找的人是否會出現至今對付這個。然而,我必然遇到一些我不能使用其他元素作爲代理的頁面。

有沒有辦法對我來說,造成實際上是在頁面的源代碼與其他一些原因,不屬元素異常區分?

+0

我使用Java和Java更深入異常拋出2種不同類型的異常 - NoSuchElement和超時異常 – Sighil 2014-12-01 16:13:17

+0

@lost是不是NoSuchElement異常,並試圖找到一個元素同樣的事情,雖然超時異常?當我們使用driver.find和超時異常時,我們使用明確的等待 – AutomaticStatic 2014-12-01 16:14:57

+0

NoSuchElement拋出異常。兩者意味着同樣的事情 - 在DOM中找不到元素。但是超時異常告訴我們,我們等待了特定的時間。 – Sighil 2014-12-01 16:19:48

回答