Поиск…


Вступление

Существует ряд исключений, которые можно использовать при использовании webdriver. Приведенные ниже примеры призваны дать представление о том, что они означают.

Исключения на Python

Документация по исключению селена

ElementNotInteractableException: выбрасывается, когда элемент присутствует в DOM, но взаимодействие с этим элементом ударит по другому элементу из-за порядка рисования

  • ElementNotSelectableException: выбрано при попытке выбрать неэлектируемый элемент. Примеры невыбираемых элементов:
    • скрипт
  • ElementNotVisibleException: Брошено, когда элемент присутствует в DOM, но он не отображается, и с ним невозможно взаимодействовать. Чаще всего встречаются при попытке щелкнуть или прочитать текст элемента, который скрыт от представления.
  • ErrorInResponseException: выбрасывается при возникновении ошибки на стороне сервера. Это может произойти при общении с расширением firefox или удаленным сервером драйверов.
  • ImeActivationFailedException: Брошено при активации движка IME.
  • ImeNotAvailableException: брошен, когда поддержка IME недоступна. Это исключение выбрасывается для каждого вызова метода, связанного с IME, если поддержка IME недоступна на компьютере.
  • InvalidArgumentException: аргументы, переданные команде, являются недействительными или неверными.
  • InvalidCookieDomainException: выбрано при попытке добавить файл cookie в другом домене, чем текущий URL.
  • InvalidElementStateException: выбрано, когда действие приведет к недопустимому состоянию элемента. Подклассы:
    • ElementNotInteractableException
    • ElementNotSelectableException
    • ElementNotVisibleException
  • InvalidSelectorException: выбрано, когда селектор, который используется для поиска элемента, не возвращает WebElement. В настоящее время это происходит только тогда, когда селектор является выражением xpath, и он либо синтаксически недействителен (т. Е. Это не выражение xpath), либо выражение не выбирает WebElements (например, «count (// input)»).
  • InvalidSwitchToTargetException: Брошено, когда цель переключения кадра или окна не существует.
  • MoveTargetOutOfBoundsException: Брошено, когда объект, предоставленный методу moveChains (), недействителен, то есть вне документа.
  • NoAlertPresentException: Брошено при переключении без уведомления. Это может быть вызвано вызовом операции в классе Alert (), когда предупреждение еще не отображается на экране.
  • NoSuchAttributeException: Брошено, когда атрибут элемента не найден. Вы можете проверить, существует ли атрибут в конкретном браузере, с которым вы тестируете. Некоторые браузеры могут иметь разные имена свойств для одного и того же свойства. (IE8 .innerText против Firefox .textContent)
  • NoSuchElementException: Брошено, когда элемент не найден. Если вы столкнулись с этим исключением, вы можете проверить следующее:
    • Проверьте свой селектор, используемый в вашем find_by ...
    • Элемент может пока не отображаться на экране во время операции поиска (веб-страница по-прежнему загружается) см. Selenium.webdriver.support.wait.WebDriverWait () для того, как писать ожидающую оболочку, чтобы ждать появления элемента.
  • NoSuchFrameException: Брошено, когда цель кадра для переключения не существует.
  • NoSuchWindowException: Брошено, когда цель, которую нужно переключить, не существует. Чтобы найти текущий набор активных оконных дескрипторов, вы можете получить список активных оконных дескрипторов следующим образом:
    print driver.window_handles
  • RemoteDriverServerException:
  • StaleElementReferenceException: Брошено, когда ссылка на элемент теперь «устарела». Stale означает, что элемент больше не отображается в DOM страницы. Возможные причины исключения StaleElementReferenceException включают, но не ограничиваются:
    • Вы больше не на одной странице, или страница, возможно, обновилась с момента ее нахождения.
    • Элемент, возможно, был удален и повторно добавлен на экран, так как он был расположен. Такие, как перемещаемый элемент. Обычно это может происходить с использованием структуры javascript, когда значения обновляются и узел перестраивается.
    • Элемент, возможно, находился внутри iframe или другого контекста, который был обновлен.
  • TimeoutException: Брошено, когда команда не завершается за достаточно короткое время.
  • UnableToSetCookieException: выбрасывается, когда драйверу не удается установить файл cookie.
  • UnexpectedAlertPresentException: вызывается при появлении неожиданного предупреждения. Обычно возникает, когда ожидаемый модал блокирует форму webdriver, выполняя любые другие команды.
  • UnexpectedTagNameException: выбрано, когда класс поддержки не получил ожидаемый веб-элемент.
  • Исключение WebDriverException: исключение базового webdriver. Все исключения webdriver либо используют WebDriverException, либо InvalidStateException как родительский класс.


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow