selenium-webdriver
Ausnahmen in Selenium-WebDriver
Suche…
Einführung
Es gibt eine Reihe von Ausnahmen, die bei Verwendung eines Web-Treibers ausgelöst werden können. Die folgenden Beispiele sollen eine Vorstellung davon vermitteln, was sie bedeuten.
Python-Ausnahmen
Selen-Ausnahmedokumentation
ElementNotInteractableException: Wird ausgelöst, wenn ein Element im DOM vorhanden ist, Interaktionen mit diesem Element jedoch aufgrund der Zeichenreihenfolge auf ein anderes Element treffen
- ElementNotSelectableException: Wird ausgelöst, wenn versucht wird, ein nicht auswählbares Element auszuwählen. Beispiele für nicht auswählbare Elemente:
- Skript
- ElementNotVisibleException: Wird ausgelöst, wenn ein Element im DOM vorhanden ist, jedoch nicht sichtbar ist und daher nicht mit ihm interagieren kann. Am häufigsten beim Versuch, Text eines Elements anzuklicken oder zu lesen, das nicht sichtbar ist.
- ErrorInResponseException: Wird ausgelöst, wenn auf der Serverseite ein Fehler aufgetreten ist. Dies kann bei der Kommunikation mit der Firefox-Erweiterung oder dem Remote-Treiberserver auftreten.
- ImeActivationFailedException: Wird ausgelöst, wenn eine IME-Engine aktiviert wurde.
- ImeNotAvailableException: Wird ausgelöst, wenn keine IME-Unterstützung verfügbar ist. Diese Ausnahme wird bei jedem IME-bezogenen Methodenaufruf ausgelöst, wenn auf dem Computer keine IME-Unterstützung verfügbar ist.
- InvalidArgumentException: Die an einen Befehl übergebenen Argumente sind entweder ungültig oder fehlerhaft.
- InvalidCookieDomainException: Wird ausgelöst, wenn versucht wird, ein Cookie unter einer anderen Domäne als der aktuellen URL hinzuzufügen.
- InvalidElementStateException: Wird ausgelöst, wenn eine Aktion zu einem ungültigen Status für ein Element führen würde. Unterklassen:
- ElementNotInteractableException
- ElementNotSelectableException
- ElementNotVisibleException
- InvalidSelectorException: Wird ausgelöst, wenn der Selektor, mit dem ein Element gesucht wird, kein WebElement zurückgibt. Derzeit geschieht dies nur, wenn der Selektor ein xpath-Ausdruck ist und entweder syntaktisch ungültig ist (dh es handelt sich nicht um einen xpath-Ausdruck) oder der Ausdruck keine WebElements auswählt (z. B. "count (// input)").
- InvalidSwitchToTargetException: Wird ausgelöst, wenn das zu schaltende Frame- oder Fensterziel nicht vorhanden ist.
- MoveTargetOutOfBoundsException: Wird ausgelöst, wenn das Ziel, das für die move () - Methode von ActionsChains bereitgestellt wird, ungültig ist, dh außerhalb des Dokuments liegt.
- NoAlertPresentException: Wird ausgelöst, wenn keine Warnung angezeigt wird . Dies kann durch den Aufruf einer Operation in der Alert () - Klasse verursacht werden, wenn noch keine Warnung auf dem Bildschirm angezeigt wird.
- NoSuchAttributeException: Wird ausgelöst, wenn das Attribut des Elements nicht gefunden wurde. Möglicherweise möchten Sie überprüfen, ob das Attribut in dem bestimmten Browser vorhanden ist, mit dem Sie testen. Einige Browser haben möglicherweise unterschiedliche Eigenschaftennamen für dieselbe Eigenschaft. (IE8's .innerText vs. Firefox .textContent)
- NoSuchElementException: Wird ausgelöst, wenn das Element nicht gefunden wurde. Wenn Sie auf diese Ausnahme stoßen, können Sie Folgendes überprüfen:
- Überprüfen Sie Ihren Selektor in Ihrem find_by ...
- Das Element ist möglicherweise zum Zeitpunkt des Suchvorgangs noch nicht auf dem Bildschirm (die Webseite wird noch geladen). Siehe selenium.webdriver.support.wait.WebDriverWait (), um zu erfahren, wie ein Wait-Wrapper geschrieben wird, der auf das Erscheinen eines Elements wartet.
- NoSuchFrameException: Wird ausgelöst, wenn das umzuschaltende Bildziel nicht vorhanden ist.
- NoSuchWindowException: Wird ausgelöst, wenn das umzuschaltende Fensterziel nicht vorhanden ist. Um den aktuellen Satz aktiver Fenstergriffe zu finden, können Sie eine Liste der aktiven Fenstergriffe auf folgende Weise erhalten:
print driver.window_handles
- RemoteDriverServerException:
- StaleElementReferenceException: Wird ausgelöst, wenn ein Verweis auf ein Element jetzt "veraltet" ist. Veraltet bedeutet, dass das Element nicht mehr im DOM der Seite angezeigt wird. Mögliche Ursachen für StaleElementReferenceException sind unter anderem:
- Sie befinden sich nicht mehr auf derselben Seite, oder die Seite wurde möglicherweise aktualisiert, seit das Element gefunden wurde.
- Das Element wurde möglicherweise entfernt und erneut zum Bildschirm hinzugefügt, da es gefunden wurde. Wie ein Element, das verschoben wird. Dies kann in der Regel bei einem Javascript-Framework der Fall sein, wenn Werte aktualisiert und der Knoten neu erstellt wird.
- Das Element befindet sich möglicherweise in einem iframe oder einem anderen Kontext, der aktualisiert wurde.
- TimeoutException: Wird ausgelöst, wenn ein Befehl nicht rechtzeitig ausgeführt wird.
- UnableToSetCookieException: Wird ausgelöst, wenn ein Treiber keinen Cookie setzen kann.
- UnexpectedAlertPresentException: Wird ausgelöst, wenn eine unerwartete Warnung angezeigt wird. Wird normalerweise ausgelöst, wenn ein erwarteter Modal die Ausführung weiterer Befehle blockiert.
- UnexpectedTagNameException: Wird ausgelöst, wenn eine Supportklasse kein erwartetes Webelement abruft.
- WebDriverException: Basis-Webtreiber-Ausnahme. Alle Webdriver-Ausnahmen verwenden entweder WebDriverException oder InvalidStateException als übergeordnete Klasse.
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow