之前整理了Python版webdriver的備忘單與xpath、css的備忘單,今天把Python webdriver的exception清單整理一下。
Python Webdriver Exception Cheat Sheet
上表大概羅列了Python Webdriver 中的Exception以及出現該問題的原因,具體的代碼解析與代碼示例博主改天再給大家分享。
HTML版如下:
異常 | 描述 |
---|---|
WebDriverException | 所有webdriver異常的基類,當有異常且不屬於下列異常時拋出 |
InvalidSwitchToTargetException | 下面兩個異常的父類,當要switch的目標不存在時拋出 |
NoSuchFrameException | 當你想要用switch_to.frame()切入某個不存在的frame時拋出 |
NoSuchWindowException | 當你想要用switch_to.window()切入某個不存在的window時拋出 |
NoSuchElementException | 元素不存在,一般由find_element與find_elements拋出 |
NoSuchAttributeException | 一般你獲取不存在的元素屬性時拋出,要注意有些屬性在不同瀏覽器裏是有不同的屬性名的 |
StaleElementReferenceException | 指定的元素過時了,不在現在的DOM樹裏了,可能是被刪除了或者是頁面或iframe刷新了 |
UnexpectedAlertPresentException | 出現了意料之外的alert,阻礙了指令的執行時拋出 |
NoAlertPresentException | 你想要獲取alert,但實際沒有alert出現時拋出 |
InvalidElementStateException | 下面兩個異常的父類,當元素狀態不能進行想要的操作時拋出 |
ElementNotVisibleException | 元素存在,但是不可見,不可以與之交互 |
ElementNotSelectableException | 當你想要選擇一個不可被選擇的元素時拋出 |
InvalidSelectorException | 一般當你xpath語法錯誤的時候拋出這個錯 |
InvalidCookieDomainException | 當你想要在非當前url的域裏添加cookie時拋出 |
UnableToSetCookieException | 當driver無法添加一個cookie時拋出 |
TimeoutException | 當一個指令在足夠的時間內沒有完成時拋出 |
MoveTargetOutOfBoundsException | actions的move操作時拋出,將目標移動出了window之外 |
UnexpectedTagNameException | 獲取到的元素標籤不符合要求時拋出,比如實例化Select,你傳入了非select標籤的元素時 |
ImeNotAvailableException | 輸入法不支持的時候拋出,這裏兩個異常不常見,ime引擎據說是僅用於linux下對中文/日文支持的時候 |
ImeActivationFailedException | 激活輸入法失敗時拋出 |
ErrorInResponseException | 不常見,server端出錯時可能會拋 |
RemoteDriverServerException | 不常見,好像是在某些情況下驅動啓動瀏覽器失敗的時候會報這個錯 |
如果它對你有幫助,或者你有什麼好的建議,請告訴我。
pdf版本可在此下載 Python Webdriver Exceptions Cheat Sheet By 灰藍
更多關於python selenium的文章,請關注我的CSDN專欄:Python Selenium自動化測試詳解