mirror of
https://github.com/ManchildProductions/UXP-Fixed.git
synced 2026-06-27 21:38:26 +00:00
145 lines
3.4 KiB
Python
145 lines
3.4 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
|
|
import collections
|
|
|
|
|
|
class WebDriverException(Exception):
|
|
http_status = None
|
|
status_code = None
|
|
|
|
|
|
class ElementNotSelectableException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "element not selectable"
|
|
|
|
|
|
class ElementNotVisibleException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "element not visible"
|
|
|
|
|
|
class InvalidArgumentException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "invalid argument"
|
|
|
|
|
|
class InvalidCookieDomainException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "invalid cookie domain"
|
|
|
|
|
|
class InvalidElementCoordinatesException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "invalid element coordinates"
|
|
|
|
|
|
class InvalidElementStateException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "invalid cookie domain"
|
|
|
|
|
|
class InvalidSelectorException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "invalid selector"
|
|
|
|
|
|
class InvalidSessionIdException(WebDriverException):
|
|
http_status = 404
|
|
status_code = "invalid session id"
|
|
|
|
|
|
class JavascriptErrorException(WebDriverException):
|
|
http_status = 500
|
|
status_code = "javascript error"
|
|
|
|
|
|
class MoveTargetOutOfBoundsException(WebDriverException):
|
|
http_status = 500
|
|
status_code = "move target out of bounds"
|
|
|
|
|
|
class NoSuchAlertException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "no such alert"
|
|
|
|
|
|
class NoSuchElementException(WebDriverException):
|
|
http_status = 404
|
|
status_code = "no such element"
|
|
|
|
|
|
class NoSuchFrameException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "no such frame"
|
|
|
|
|
|
class NoSuchWindowException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "no such window"
|
|
|
|
|
|
class ScriptTimeoutException(WebDriverException):
|
|
http_status = 408
|
|
status_code = "script timeout"
|
|
|
|
|
|
class SessionNotCreatedException(WebDriverException):
|
|
http_status = 500
|
|
status_code = "session not created"
|
|
|
|
|
|
class StaleElementReferenceException(WebDriverException):
|
|
http_status = 400
|
|
status_code = "stale element reference"
|
|
|
|
|
|
class TimeoutException(WebDriverException):
|
|
http_status = 408
|
|
status_code = "timeout"
|
|
|
|
|
|
class UnableToSetCookieException(WebDriverException):
|
|
http_status = 500
|
|
status_code = "unable to set cookie"
|
|
|
|
|
|
class UnexpectedAlertOpenException(WebDriverException):
|
|
http_status = 500
|
|
status_code = "unexpected alert open"
|
|
|
|
|
|
class UnknownErrorException(WebDriverException):
|
|
http_status = 500
|
|
status_code = "unknown error"
|
|
|
|
|
|
class UnknownCommandException(WebDriverException):
|
|
http_status = 404
|
|
status_code = "unknown command"
|
|
|
|
|
|
class UnknownMethodException(WebDriverException):
|
|
http_status = 405
|
|
status_code = "unknown method"
|
|
|
|
|
|
class UnsupportedOperationException(WebDriverException):
|
|
http_status = 500
|
|
status_code = "unsupported operation"
|
|
|
|
|
|
def get(status_code):
|
|
"""Gets exception from `status_code`, falling back to
|
|
``WebDriverException`` if it is not found.
|
|
"""
|
|
return _errors.get(status_code, WebDriverException)
|
|
|
|
|
|
_errors = collections.defaultdict()
|
|
for item in locals().values():
|
|
if type(item) == type and issubclass(item, WebDriverException):
|
|
_errors[item.status_code] = item
|