Exceptions in Selenium Python are the errors that occur when one of method fails or an unexpected event occurs. All instances in Python must be instances of a class that derives from BaseException. Two exception classes that are not related via subclassing are never equivalent, even if they have the same name. The built-in exceptions can be generated by the interpreter or built-in functions. This article revolves around multiple exceptions that can occur during the run of a Selenium program.
Let’s demonstrate Exception by trying to find an element that doesn’t exist and click it at geeksforgeeks.org
Now, let’s run this program, it first open geeksforgeeks.org and then raise exception – selenium.common.exceptions.NoSuchElementException, which means that element doesn’t exists on the website.
Exceptions in Selenium Python
Exceptions are of primary use when you are writing development ready code especially which is at a high risk of causing certain type of exception. So here is list of all exceptions in Selenium Python.
|ElementClickInterceptedException||The Element Click command could not be completed because the element receiving the events is obscuring the element that was requested clicked.|
|ElementNotInteractableException||Thrown when an element is present in the DOM but interactions with that element will hit another element do to paint order|
|ElementNotSelectableException||Thrown when trying to select an unselectable element.|
|ElementNotVisibleException||Thrown when an element is present on the DOM, but it is not visible, and so is not able to be interacted with.|
|ErrorInResponseException||Thrown when an error has occurred on the server side.|
|ImeActivationFailedException||Thrown when activating an IME engine has failed.|
|ImeNotAvailableException||Thrown when IME support is not available.|
|InsecureCertificateException||Navigation caused the user agent to hit a certificate warning, which is usually the result of an expired or invalid TLS certificate.|
|InvalidArgumentException||The arguments passed to a command are either invalid or malformed.|
|InvalidCookieDomainException||Thrown when attempting to add a cookie under a different domain than the current URL.|
|InvalidCoordinatesException||The coordinates provided to an interactions operation are invalid.|
|InvalidElementStateException||Thrown when a command could not be completed because the element is in an invalid state.|
|InvalidSelectorException||Thrown when the selector which is used to find an element does not return a WebElement.|
|InvalidSessionIdException||Occurs if the given session id is not in the list of active sessions, meaning the session either does not exist or that it’s not active.|
|InvalidSwitchToTargetException||Thrown when frame or window target to be switched doesn’t exist.|
|MoveTargetOutOfBoundsException||Thrown when the target provided to the ActionsChains move() method is invalid, i.e. out of document.|
|NoAlertPresentException||Thrown when switching to no presented alert.|
|NoSuchAttributeException||Thrown when the attribute of element could not be found.|
|NoSuchCookieException||No cookie matching the given path name was found amongst the associated cookies of the current browsing context’s active document.|
|NoSuchFrameException||Thrown when frame target to be switched doesn’t exist.|
|NoSuchWindowException||Thrown when window target to be switched doesn’t exist.|
|StaleElementReferenceException||Thrown when a reference to an element is now “stale”.|
|TimeoutException||Thrown when a command does not complete in enough time.|
|UnableToSetCookieException||Thrown when a driver fails to set a cookie.|
|UnexpectedAlertPresentException||Thrown when an unexpected alert is appeared.|
|UnexpectedTagNameException||Thrown when a support class did not get an expected web element|
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course