Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WebDriver-Fehler

Jeder WebDriver-Standard-Befehl, der gesendet wird, kann möglicherweise eine Fehlermeldung zurückgeben. Ein Fehler wird durch eine HTTP-Antwort mit einem HTTP-Statuscode im Bereich 4xx oder 5xx und einer JSON-Nutzlast repräsentiert, die Details des Fehlers enthält.

Nutzlast

Das Fehlerobjekt ist ein JSON-Objekt, das drei und manchmal vier Felder enthält:

error

Fehlertyp.

message

Menschlich lesbare Beschreibung der Art des Fehlers.

stacktrace

Stacktrace-Bericht der aktiven Stackframes zum Zeitpunkt des Fehlers.

data (optional)

Beliebige und implementierungsdefinierte Daten, die nützlich sein können, um dem Benutzer präsentiert zu werden. Viele Treiber enthalten den Text der Benutzeraufforderung, wenn sie auf einen unerwartet geöffneten Alarm stoßen.

Beispiel

Zum Beispiel würde eine GET-Anfrage an /session/1234/url, wobei 1234 eine ungültige Sitzung ist, eine Antwort mit dem 404 Not Found-Status und folgendem Inhalt zurückgeben:

json
{
  "value": {
    "error": "invalid session id",
    "message": "No active session with ID 1234",
    "stacktrace": ""
  }
}

Es ist für den Treiber optional, Fehler mit zusätzlichen Fehlerdaten zu annotieren. Insbesondere ist dies üblich, wenn eine Benutzeraufforderung, wie window.alert, nach der Ausführung Ihrer vorherigen WebDriver-Befehlsanfrage einen modalen Dialog geöffnet hat.

Da sowohl die WebDriver- als auch die JavaScript-Ausführung durch einen solchen Dialog angehalten werden, erhalten wir in der nachfolgenden Antwort einen unerwartet geöffneten Alarm-Fehler:

json
{
  "value": {
    "error": "unexpected alert open",
    "message": "",
    "stacktrace": "",
    "data": {
      "text": "Message from window.alert"
    }
  }
}

In den meisten Clients würde der Fehler durch eine Art von Fehler-typ oder objektdarstellung dargestellt werden. In Python wird er als WebDriverException, in Node.js als WebDriverError und in Java ebenfalls als WebDriverException dargestellt.

Fehlerübersicht

Fehlertyp HTTP-Statuscode Beschreibung
element click intercepted 400 Bad Request Der Element Click Befehl konnte nicht abgeschlossen werden, da das Element, das die Ereignisse empfängt, das angeklickte Element verdeckt.
element not interactable 400 Bad Request Ein Befehl konnte nicht abgeschlossen werden, da das Element weder über Zeiger noch über Tastatur ansprechbar ist.
insecure certificate 400 Bad Request Die Navigation führte dazu, dass der Benutzeragent eine Zertifikatswarnung erhielt, die normalerweise das Ergebnis eines abgelaufenen oder ungültigen TLS-Zertifikats ist.
invalid argument 400 Bad Request Die an einen Befehl übergebenen Argumente sind entweder ungültig oder fehlerhaft.
invalid cookie domain 400 Bad Request Es wurde ein unzulässiger Versuch unternommen, ein Cookie unter einer anderen Domain als der aktuellen Seite zu setzen.
invalid element state 400 Bad Request Ein Befehl konnte nicht abgeschlossen werden, da sich das Element in einem ungültigen Zustand befindet, z.B. der Versuch, ein Element zu löschen, das nicht sowohl editierbar als auch zurücksetzbar ist.
invalid selector 400 Bad Request Ein Elementabrufbefehl hat eine unbekannte Selektorstrategie angegeben.
invalid session id 404 Not Found Die angegebene Sitzungs-ID wird nicht erkannt, was bedeutet, dass die Sitzung entweder nicht existiert oder nicht aktiv ist. Beachten Sie, dass eine Sitzung, die gelöscht wurde nicht wiederverwendet werden kann.
javascript error 500 Internal Server Error Bei der Ausführung von JavaScript, das vom Benutzer bereitgestellt wurde, ist ein Fehler aufgetreten.
move target out of bounds 500 Internal Server Error Das Ziel für die Mausinteraktion befindet sich nicht im Ansichtsfenster des Browsers und kann nicht in dieses Ansichtsfenster verschoben werden.
no such alert 404 Not Found Es wurde versucht, mit einer Benutzeraufforderung zu interagieren, obwohl keine geöffnet war.
no such cookie 404 Not Found Kein Cookie, das dem angegebenen Pfadnamen entspricht, wurde unter den Cookies des aktuellen Dokuments gefunden.
no such element 404 Not Found Ein Element konnte auf der Seite unter Verwendung der angegebenen Suchparameter nicht gefunden werden.
no such frame 404 Not Found Ein Befehl zum Wechseln zu einem Frame konnte nicht erfüllt werden, da das Frame nicht gefunden wurde.
no such window 404 Not Found Ein Befehl zum Wechseln zu einem Fenster konnte nicht erfüllt werden, da das Fenster nicht gefunden wurde.
script timeout 408 Request Timeout Ein Skript wurde nicht abgeschlossen, bevor sein Zeitlimit abgelaufen war.
session not created 500 Internal Server Error Eine neue Sitzung konnte nicht erstellt werden, entweder weil der Browser nicht gestartet werden konnte oder weil die bereitgestellten Fähigkeiten, um die Sitzung zu starten, nicht übereinstimmten.
stale element reference 404 Not Found Ein Befehl schlug fehl, weil das referenzierte Element nicht mehr an das DOM angehängt ist.
timeout 408 Request Timeout Eine Operation wurde nicht abgeschlossen, bevor ihr Zeitlimit ablief.
unable to set cookie 500 Internal Server Error Ein Befehl zum Setzen des Werts eines Cookies konnte nicht erfüllt werden.
unable to capture screen 500 Internal Server Error Ein Bildschirmfoto war unmöglich zu erstellen.
unexpected alert open 500 Internal Server Error Ein modaler Dialog war geöffnet, der diese Operation blockierte.
unknown command 404 Not Found Ein Befehl konnte nicht ausgeführt werden, weil der Treiber ihn nicht kannte.
unknown error 500 Internal Server Error Es ist ein unbekannter Fehler im Treiber aufgetreten, während der Befehl bearbeitet wurde.
unknown method 405 Method Not Allowed Der angeforderte Befehl passte zu einer bekannten URL, jedoch nicht zu einer Methode für diese URL.
unsupported operation 500 Internal Server Error Gibt an, dass ein Befehl, der ordnungsgemäß ausgeführt werden sollte, aus irgendeinem Grund nicht unterstützt wird.

Siehe auch