Szukaj…


Wprowadzenie

Istnieje wiele wyjątków, które mogą zostać zgłoszone podczas korzystania z serwera WWW. Poniższe przykłady mają dać wyobrażenie o ich znaczeniu.

Wyjątki w języku Python

Dokumentacja wyjątku selenu

ElementNotInteractableException: Zgłaszany, gdy element jest obecny w DOM, ale interakcje z tym elementem uderzą w inny element z powodu kolejności malowania

  • ElementNotSelectableException: Zgłaszany podczas próby wybrania elementu, którego nie można wybrać. Przykłady elementów, których nie można wybrać:
    • scenariusz
  • ElementNotVisibleException: Zgłaszany, gdy element jest obecny w DOM, ale nie jest widoczny, więc nie można z nim wchodzić w interakcje. Najczęściej spotykane podczas próby kliknięcia lub odczytania tekstu elementu, który jest niewidoczny.
  • ErrorInResponseException: Zgłaszany, gdy wystąpił błąd po stronie serwera. Może się to zdarzyć podczas komunikacji z rozszerzeniem Firefox lub ze zdalnym serwerem sterowników.
  • ImeActivationFailedException: Zgłoszony podczas aktywacji silnika IME nie powiódł się.
  • ImeNotAvailableException: Zgłaszany, gdy obsługa IME nie jest dostępna. Ten wyjątek jest zgłaszany dla każdego wywołania metody związanego z edytorem IME, jeśli obsługa IME nie jest dostępna na komputerze.
  • InvalidArgumentException: Argumenty przekazane do polecenia są nieprawidłowe lub źle sformułowane.
  • InvalidCookieDomainException: Zgłaszany podczas próby dodania pliku cookie w innej domenie niż bieżący adres URL.
  • InvalidElementStateException: Zgłaszany, gdy akcja spowoduje niepoprawny stan elementu. Podklasy:
    • ElementNotInteractableException
    • ElementNotSelectableException
    • ElementNotVisibleException
  • InvalidSelectorException: Zgłaszany, gdy selektor używany do znalezienia elementu nie zwraca elementu WebElement. Obecnie dzieje się tak tylko wtedy, gdy selektor jest wyrażeniem xpath i jest albo niepoprawny pod względem składniowym (tj. Nie jest wyrażeniem xpath), albo wyrażenie nie wybiera elementów sieciowych (np. „Count (// input)”).
  • InvalidSwitchToTargetException: Zgłaszany, gdy element docelowy ramki lub okna do przełączenia nie istnieje.
  • MoveTargetOutOfBoundsException: Zgłaszany, gdy cel podany dla metody move () ActionsChains jest nieprawidłowy, tzn. Nie ma go w dokumencie.
  • NoAlertPresentException: Zgłaszany przy przełączaniu na brak prezentowanego alertu. Może to być spowodowane wywołaniem operacji na klasie Alert (), gdy alert nie jest jeszcze wyświetlany na ekranie.
  • NoSuchAttributeException: Zgłaszany, gdy nie można znaleźć atrybutu elementu. Możesz sprawdzić, czy atrybut istnieje w konkretnej przeglądarce, na której testujesz. Niektóre przeglądarki mogą mieć różne nazwy właściwości dla tej samej właściwości. (IE8's .innerText vs. Firefox .textContent)
  • NoSuchElementException: Zgłaszany, gdy nie można znaleźć elementu. Jeśli napotkasz ten wyjątek, możesz sprawdzić następujące kwestie:
    • Sprawdź selektor używany w find_by ...
    • Element może jeszcze nie znajdować się na ekranie w czasie operacji wyszukiwania (strona wciąż się ładuje), patrz selenium.webdriver.support.wait.WebDriverWait (), aby dowiedzieć się, jak napisać opakowanie oczekiwania, aby czekać na pojawienie się elementu.
  • NoSuchFrameException: Zgłaszany, gdy element docelowy ramki, który ma zostać przełączony, nie istnieje.
  • NoSuchWindowException: Zgłaszany, gdy cel okna do przełączenia nie istnieje. Aby znaleźć bieżący zestaw aktywnych uchwytów okna, możesz uzyskać listę aktywnych uchwytów okna w następujący sposób:
    print driver.window_handles
  • RemoteDriverServerException:
  • StaleElementReferenceException: Zgłaszany, gdy odwołanie do elementu jest teraz „nieaktualne”. Stale oznacza, że element nie pojawia się już w DOM strony. Możliwe przyczyny wyjątku StaleElementReferenceException obejmują między innymi:
    • Nie jesteś już na tej samej stronie lub strona mogła zostać odświeżona od momentu zlokalizowania elementu.
    • Element mógł zostać usunięty i ponownie dodany do ekranu, ponieważ został zlokalizowany. Takich jak przenoszony element. Może się to zwykle zdarzyć w środowisku javascript, gdy wartości są aktualizowane, a węzeł jest przebudowywany.
    • Element mógł znajdować się w elemencie iframe lub innym kontekście, który został odświeżony.
  • Limit czasu: Zgłaszany, gdy polecenie nie zostanie ukończone w wystarczającym czasie.
  • UnableToSetCookieException: Zgłaszany, gdy sterownik nie ustawia pliku cookie.
  • U nieoczekiwany wyjątek : Obecny wyjątek : Zgłaszany, gdy pojawia się nieoczekiwany alert. Zwykle wywoływany, gdy oczekiwany modal blokuje formularz webdrivera wykonujący więcej poleceń.
  • U nieoczekiwany wyjątek : Zgłaszany, gdy klasa wsparcia nie otrzymała oczekiwanego elementu WWW.
  • WebDriverException: Podstawowy wyjątek webdriver. Wszystkie wyjątki webdriver używają WebDriverException lub InvalidStateException jako klasy nadrzędnej.


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow