Python 異常
ElementNotInteractableException: 當 DOM 中存在元素但由於繪製順序而與該元素的互動將觸及另一個元素時丟擲
- ElementNotSelectableException: 嘗試選擇不可選元素時丟擲。不可選元素的例子:
- 指令碼
- ElementNotVisibleException: 當 DOM 上存在元素時丟擲,但它不可見,因此無法與其進行互動。嘗試單擊或讀取從檢視中隱藏的元素的文字時最常遇到的問題。
- ErrorInResponseException: 在伺服器端發生錯誤時丟擲。與 firefox 擴充套件或遠端驅動程式伺服器通訊時可能會發生這種情況。
- ImeActivationFailedException: 啟用 IME 引擎失敗後丟擲。
- ImeNotAvailableException: 當 IME 支援不可用時丟擲。如果計算機上沒有 IME 支援,則會為每個與 IME 相關的方法呼叫丟擲此異常。
- InvalidArgumentException: 傳遞給命令的引數無效或格式錯誤。
- InvalidCookieDomainException: 嘗試在與當前 URL 不同的域下新增 cookie 時丟擲。
- InvalidElementStateException: 當操作導致元素的無效狀態時丟擲。子類:
- ElementNotInteractableException
- ElementNotSelectableException
- ElementNotVisibleException
- InvalidSelectorException: 當用於查詢元素的選擇器未返回 WebElement 時丟擲。目前這隻發生在選擇器是 xpath 表示式並且它在語法上無效(即它不是 xpath 表示式)或表示式沒有選擇 WebElements(例如“count(// input)”)時。
- InvalidSwitchToTargetException: 當要切換的幀或視窗目標不存在時丟擲。
- MoveTargetOutOfBoundsException: 當提供給 ActionsChains
move()
方法的目標無效時(即文件外),丟擲該異常。 - NoAlertPresentException: 切換到無提示警報時丟擲。當螢幕上還沒有警報時,可以通過呼叫
Alert()
類上的操作來引起這種情況。 - NoSuchAttributeException: 無法找到 element 的屬性時丟擲。你可能想要檢查你正在測試的特定瀏覽器中是否存在該屬性。某些瀏覽器可能具有相同屬性的不同屬性名稱。 (IE8 的 .innerText 與 Firefox .textContent)
- NoSuchElementException: 無法找到元素時丟擲。如果遇到此異常,你可能需要檢查以下內容:
- 檢查 find_by 中使用的選擇器…
- 在查詢操作時,元素可能尚未出現在螢幕上(網頁仍在載入),請參閱
selenium.webdriver.support.wait.WebDriverWait()
,瞭解如何編寫等待包裝器以等待元素出現。
- NoSuchFrameException: 當要切換的幀目標不存在時丟擲。
- NoSuchWindowException: 當要切換的視窗目標不存在時丟擲。要查詢當前活動視窗控制代碼集,可以通過以下方式獲取活動視窗控制代碼的列表:
print driver.window_handles
- RemoteDriverServerException:
- StaleElementReferenceException: 當對元素的引用現在是陳舊的時丟擲。陳舊意味著該元素不再出現在頁面的 DOM 上。StaleElementReferenceException 的可能原因包括但不限於:
- 你不再位於同一頁面上,或者自找到該元素後頁面可能已重新整理。
- 該元素可能已被刪除並重新新增到螢幕中,因為它已找到。例如重新定位的元素。當更新值並重建節點時,通常可以使用 javascript 框架進行此操作。
- 元素可能位於 iframe 或其他已重新整理的上下文中。
- TimeoutException: 在命令未在足夠的時間內完成時丟擲。
- UnableToSetCookieException: 當驅動程式無法設定 cookie 時丟擲。
- UnexpectedAlertPresentException: 出現意外警報時丟擲。通常在預期模式阻止 webdriver 表單執行任何更多命令時引發。
- UnexpectedTagNameException: 在支援類未獲得預期的 Web 元素時丟擲。
- WebDriverException: 基本 webdriver 異常。所有 webdriver 異常都使用 WebDriverException 或 InvalidStateException 作為父類。