selenium-webdriver
Wyjątki w Selenium-WebDriver
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