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 klassische WebDriver-Befehl, der gesendet wird, kann möglicherweise eine Fehlermeldung erhalten. Ein Fehler wird durch eine HTTP-Antwort mit einem HTTP-Statuscode im Bereich 4xx oder 5xx und eine JSON-Nutzlast, die Details des Fehlers enthält, dargestellt.

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 Stack-Frames zum Zeitpunkt des Auftretens des Fehlers.

data (optional)

Beliebige und implementierungsdefinierte Daten, die es nützlich machen können, dem Benutzer zu präsentieren. Viele Treiber fügen den Text der User-Eingabeaufforderung hinzu, wenn ein unerwarteter Alert geöffnet-Fehler auftritt.

Beispiel

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

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

Es ist optional für den Treiber, Fehler mit zusätzlichen Fehlerdaten zu annotieren. Insbesondere kommt dies häufig vor, wenn eine Benutzereingabeaufforderung, wie etwa window.alert, nach der Ausführung Ihres vorherigen WebDriver-Befehlsanforderung einen modalen Dialog geöffnet hat.

Da sowohl der WebDriver als auch die JavaScript-Ausführung durch einen solchen Dialog angehalten wird, sehen wir einen unerwarteter Alert geöffnet-Fehler in der nachfolgenden Antwort:

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 Fehler Typ oder Objektrepräsentation 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 Element verdeckt, das angeklickt werden sollte.
element not interactable 400 Bad Request Ein Befehl konnte nicht abgeschlossen werden, da das Element nicht zeiger- oder tastaturinteraktiv ist.
insecure certificate 400 Bad Request Die Navigation führte dazu, dass der Benutzeragent auf eine Zertifikatswarnung stieß, was in der Regel 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 illegaler Versuch unternommen, ein Cookie in einer anderen Domäne 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. wenn versucht wird, 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 bereitgestellt.
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 Ein Fehler trat beim Ausführen von JavaScript auf, das vom Benutzer bereitgestellt wurde.
move target out of bounds 500 Internal Server Error Das Ziel für die Mausinteraktion befindet sich nicht im Viewport des Browsers und kann nicht in diesen Viewport gebracht werden.
no such alert 404 Not Found Es wurde versucht, auf eine Benutzereingabeaufforderung zuzugreifen, die nicht geöffnet war.
no such cookie 404 Not Found Es wurde kein Cookie gefunden, das dem angegebenen Pfadnamen unter den Cookies des aktuellen Dokuments entspricht.
no such element 404 Not Found Ein Element konnte auf der Seite nicht mit den angegebenen Suchparametern gefunden werden.
no such frame 404 Not Found Ein Befehl zum Wechseln zu einem Frame konnte nicht ausgeführt werden, da der Frame nicht gefunden wurde.
no such window 404 Not Found Ein Befehl zum Wechseln zu einem Fenster konnte nicht ausgeführt werden, da das Fenster nicht gefunden wurde.
script timeout 408 Request Timeout Ein Skript wurde nicht abgeschlossen, bevor sein Timeout abgelaufen ist.
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 zum Starten der Sitzung nicht übereinstimmen.
stale element reference 404 Not Found Ein Befehl schlug fehl, da das referenzierte Element nicht mehr an das DOM angehängt ist.
timeout 408 Request Timeout Eine Operation wurde nicht abgeschlossen, bevor ihr Timeout abgelaufen ist.
unable to set cookie 500 Internal Server Error Ein Befehl zum Setzen eines Cookie-Werts konnte nicht ausgeführt werden.
unable to capture screen 500 Internal Server Error Ein Bildschirm-Screenshot war unmöglich.
unexpected alert open 500 Internal Server Error Ein modaler Dialog war geöffnet und blockiert diese Operation.
unknown command 404 Not Found Ein Befehl konnte nicht ausgeführt werden, da der Treiber ihn nicht kannte.
unknown error 500 Internal Server Error Ein unbekannter Fehler trat im Treiber auf, während der Befehl verarbeitet wurde.
unknown method 405 Method Not Allowed Der angeforderte Befehl passte zu einer bekannten URL, aber zu keiner 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 werden kann.

Siehe auch