天天看點

Python selenium —— Webdriver Exception cheat sheet

之前整理了Python版webdriver的備忘單與xpath、css的備忘單,今天把Python webdriver的exception清單整理一下。

Python Webdriver Exception Cheat Sheet

Python selenium —— 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自動化測試詳解