common/exceptions.py
В каталоге представлены различные Класс исключения;WebDriverException
как базовый класс;class WebDriverException(Exception):
"""
Base webdriver exception.
"""
def __init__(self, msg=None, screen=None, stacktrace=None):
self.msg = msg
self.screen = screen
self.stacktrace = stacktrace
def __str__(self):
exception_msg = "Message: %s\n" % self.msg
if self.screen is not None:
exception_msg += "Screenshot: available via screen\n"
if self.stacktrace is not None:
stacktrace = "\n".join(self.stacktrace)
exception_msg += "Stacktrace:\n%s" % stacktrace
return exception_msg
def __init__(self, msg=None, screen=None, stacktrace=None):
self.msg = msg
self.screen = screen
self.stacktrace = stacktrace
# сообщение: Произошло исключение
# экран: сделать снимок экрана при возникновении исключения
# stacktrace: информация о стеке исключений
__str__
,описыватьинформацию, используемую для появления объекта def __str__(self):
exception_msg = "Message: %s\n" % self.msg
if self.screen is not None:
exception_msg += "Screenshot: available via screen\n"
if self.stacktrace is not None:
stacktrace = "\n".join(self.stacktrace)
exception_msg += "Stacktrace:\n%s" % stacktrace
return exception_msg
__str__
Это можно увидеть ввозвращатьсяэто ненормальноинформацияexception_msg
,И его начальное значениеmsg
,когдаscreen
иstacktrace
Когда ни один не пуст,exception_msg
Для объединения двух других параметров。NoSuchElementException
;NoSuchElementException
Исходный код выглядит следующим образом:class NoSuchElementException(WebDriverException):
"""
Thrown when element could not be found.
If you encounter this exception, you may want to check the following:
* Check your selector used in your find_by...
* Element may not yet be on the screen at the time of the find operation,
(webpage is still loading) see selenium.webdriver.support.wait.WebDriverWait()
for how to write a wait wrapper to wait for an element to appear.
"""
pass
1. Поднимается, когда элемент не может быть найден. 2. Если вы столкнулись с таким исключением, вам может потребоваться проверить следующее: А. Проверьте селектор, используемый в find_by; Б. Элемент может еще не появиться на экране во время операции поиска (веб-страница все еще загружается), обратитесь к селену. Сетевой драйвер. Поддерживает ожидание WebDriverWait(). Узнайте, как написать оболочку ожидания для ожидания появления элемента.
pass
,Это просто заполнитель,Укажите, что определенные функции должны быть реализованы в более поздних подклассах.Класс исключения | описывать | возвращаться |
---|---|---|
| Возникает, когда на стороне сервера возникает ошибка, что может произойти при обмене данными с расширением Firefox или удаленном управлении сервером. |
|
| Возникает, когда переключаемый фрейм или окно не существует. |
|
| Вызывается, когда целевой кадр для переключения не существует.,наследовать |
|
| Вызывается, когда целевой объект окна, который нужно переключить, не существует.,Чтобы найти текущий набор активных дескрипторов окон,Получить список и создать активные дескрипторы окон можно следующим образом.: |
|
| Поднимается, когда элемент не найден,Если вы столкнулись с таким исключением,Возможно, вам потребуется проверить следующее: А. Проверить селектор, прогноз в find_by;B Элемент может еще не появиться на экране во время операции поиска.,(Страница все еще загружается)Видетьselenium。сетевой драйвер。Поддержка ожидания |
|
| Возникает, когда атрибут элемента не может быть найден.,Возможно, вы захотите проверить, существует ли атрибут в конкретном браузере, который вы используете для тестирования... для того же браузера,Некоторые браузеры могут иметь другое право собственности на имя свойства.(IE8из |
|
| Возникает, когда ссылка на элемент устарела, что означает, что элемент больше не отображается в DOM страницы. | |
| Возникает, когда команду невозможно выполнить, поскольку элемент находится в недопустимом состоянии, возможно, из-за попытки очистить элемент, который нельзя ни изменить, ни сбросить. |
|
| Вызывается при возникновении неожиданного предупреждения, обычно в ожидаемом режиме, не позволяющего форме веб-драйвера выполнять любые дальнейшие команды. |
|
| Поднимается при переключении на беззвучное оповещение,Это может быть связано с выпускомalertВызывается, когда |
|
| Вызывается, когда элемент существует в DOM, но он не виден и, следовательно, с ним невозможно взаимодействовать, чаще всего для элементов, которые скрыты от просмотра при попытке щелкнуть или прочитать текст. |
|
| Вызывается, когда элемент присутствует в DOM, но нет взаимодействия. Использование этого элемента приведет к рисованию другого элемента при щелчке. |
|
| Возникает при попытке выбрать невыбираемый элемент. Например, при выборе элемента «скрипт». |
|
| Возникает при попытке добавить файл cookie в домен, отличный от текущего URL-адреса. |
|
| Поднимается, когда драйверу не удается установить файл cookie. |
|
| Исходный код не упоминается |
|
| Поднимается, когда команда не завершается за достаточное время. |
|
| когдацель предоставлена |
|
| Возникает, когда поддерживающий класс не получает ожидаемый веб-элемент. |
|
| Веб-элемент вызывается, когда селектор, используемый для поиска элемента, не активируется. в настоящий момент,Это происходит только в том случае, если селектор является выражением XPath.,это либо синтаксически неверно 。наследовать |
|
| Возникает, когда поддержка IME недоступна. Для каждого метода, связанного с IME, вызываемого, если на компьютере нет поддержки IME. |
|
| Поднимается при сбое активации механизма IME. |
|
| Аргумент, переданный команде, недействителен или имеет неверный формат. |
|
| Выполнить, предоставленное пользователемиз |
|
| Среди файлов cookie, связанных с активным документом для текущего контекста просмотра, не обнаружено файлов cookie, соответствующих данному пути. |
|
| Скриншоты становятся невозможными |
|
| Команду щелчка элемента невозможно выполнить, поскольку элемент, получающий событие, скрывает элемент, запрашивающий щелчок. |
|
| Навигация приводит к тому, что пользовательский агент выдает предупреждение о сертификате, что обычно является результатом просроченного или недействительного сертификата TLS. |
|
| Для взаимодействия предоставлены неверные координаты |
|
| Происходит, если заданный идентификатор сеанса отсутствует в списке активных сеансов, что означает, что сеанс не существует или неактивен. |
|
| Невозможно создать новый сеанс |
|
| Запрошенная команда соответствовала известному URL-адресу, но не соответствовала методу этого URL-адреса. |
|