Исключения в Selenium Python — это ошибки, возникающие при сбое одного из методов или возникновении непредвиденного события. Все экземпляры в Python должны быть экземплярами класса, производного от BaseException. Два класса исключений, которые не связаны посредством подклассов, никогда не являются эквивалентными, даже если они имеют одно и то же имя. Встроенные исключения могут быть сгенерированы интерпретатором или встроенными функциями. Эта статья посвящена нескольким исключениям, которые могут возникнуть во время выполнения программы Selenium.
Пример:
Давайте продемонстрируем исключение, попытавшись найти элемент, которого не существует, и щелкнем его по programbox.ru
# import webdriver
from selenium import webdriver
# create webdriver object
driver = webdriver.Firefox()
# get programbox.ru
driver.get("https://www.programbox.ru/")
# get element
element = driver.find_element_by_link_text("abrakadabra")
# click the item
print(element.click())
Теперь давайте запустим эту программу, она сначала откроется geeksforgeeks.org а затем вызвать исключение – selenium.common.exceptions.NoSuchElementException, что означает, что этот элемент не существует на веб-сайте.
Исключения в Selenium Python
Исключения имеют первостепенное значение, когда вы пишете готовый к разработке код, особенно если существует высокий риск возникновения определенного типа исключений. Итак, вот список всех исключений в Selenium Python.
Исключение | Описание |
---|---|
Исключение ElementClickInterceptedException | Не удалось выполнить команду Щелчка по элементу, поскольку элемент, получающий события, скрывает элемент, по которому был сделан запрос. |
Исключение ElementNotInteractableException | Выбрасывается, когда элемент присутствует в DOM, но взаимодействие с этим элементом приведет к попаданию в другой элемент, чтобы выполнить порядок рисования |
Исключение ElementNotSelectableException | Выбрасывается при попытке выбрать невыбираемый элемент. |
Исключение ElementNotVisibleException | Выбрасывается, когда элемент присутствует в DOM, но он не виден, и поэтому с ним невозможно взаимодействовать. |
Исключение ErrorInResponseException | Выбрасывается, когда на стороне сервера произошла ошибка. |
Исключение ImeActivationFailedException | Выбрасывается при сбое активации механизма IME. |
Исключение ImeNotAvailableException | Выбрасывается, когда поддержка IME недоступна. |
Исключение InsecureCertificateException | Навигация привела к тому, что агент пользователя выдал предупреждение о сертификате, которое обычно является результатом просроченного или недействительного сертификата TLS. |
Исключение InvalidArgumentException | Аргументы, переданные команде, либо недействительны, либо искажены. |
Исключение InvalidCookieDomainException | Выбрасывается при попытке добавить файл cookie в домене, отличном от текущего URL-адреса. |
Исключение InvalidCoordinatesException | Координаты, предоставленные для операции взаимодействия, являются недопустимыми. |
Исключение InvalidElementStateException | Выбрасывается, когда не удалось выполнить команду, потому что элемент находится в недопустимом состоянии. |
Исключение invalidselectorexcepция | Выбрасывается, когда селектор, используемый для поиска элемента, не возвращает веб-элемент. |
Исключение InvalidSessionIdException | Происходит, если указанный идентификатор сеанса отсутствует в списке активных сеансов, что означает, что сеанс либо не существует, либо он не активен. |
Исключение InvalidSwitchToTargetException | Выбрасывается, когда цель кадра или окна, подлежащая переключению, не существует. |
Исключение MoveTargetOutOfBoundsException | Выбрасывается, когда цель, указанная в методе ActionsChains move (), недопустима, т. е. из документа. |
Исключение NoAlertPresentException | Выбрасывается при переключении на отсутствие предупреждения. |
Исключение NoSuchAttributeException | Выбрасывается, когда атрибут элемента не может быть найден. |
Исключение NoSuchCookieException | Среди связанных файлов cookie активного документа текущего контекста просмотра не было найдено файлов cookie, соответствующих указанному имени пути. |
Исключение NoSuchFrameException | Выбрасывается, когда целевой кадр для переключения не существует. |
Исключение NoSuchWindowException | Выбрасывается, когда цель окна, подлежащая переключению, не существует. |
Исключение StaleElementReferenceException | Выбрасывается, когда ссылка на элемент теперь “устаревшая». |
Исключение времени | Выбрасывается, когда команда не выполняется достаточно быстро. |
Исключение UnableToSetCookieException | Выбрасывается, когда драйвер не может установить файл cookie. |
Неожиданноеalertpresentexception | Выбрасывается при появлении неожиданного предупреждения. |
Неожиданное исключение из списка | Выбрасывается, когда класс поддержки не получил ожидаемый веб-элемент |