之前整理了Python版webdriver的備忘單與xpath、css的備忘單,今天把Python webdriver的exception清單整理一下。
Python Webdriver Exception Cheat Sheet
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISOykTM0gTNyEDNxATM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
上表大概羅列了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自動化測試詳解