WebDriver errors - WebDriver 编辑

Any WebDriver command that is sent to might plausibly receive an error response. An error is represented by an HTTP response with an HTTP status code in the 4xx or 5xx range, and a JSON payload holding details of the error.

Payload

The error object is a JSON Object that bears three, and sometimes four, fields:

error
Error type.
message
Human-readable description of the nature of the error.
stacktrace
Stacktrace report of the active stack frames at the time when the error occurred.
data (optional)
Arbitrary and implementation-defined data that it can be useful to present the user with.

Many drivers include the user prompt’s text when encountering an unexpected alert open error.

Example

For example a GET request to /session/1234/url, where 1234 is a bogus session, would return a response with the 404 Not Found status and the following body:

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

It is optional for the driver to annotate errors with additional error data. Notably, this is common when a user prompt, such as window.alert, has opened a modal dialog after execution of your previous WebDriver command request.

Because both WebDriver and JavaScript execution is halted by such a dialog, we see an unexpected alert open error in the subsequent response:

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

In most clients the error would be represented by some sort of error type or object representation. In Python it is represented as a WebDriverException, in Node.js as a WebDriverError, and in Java also as a WebDriverException.

Table of errors

Error typeHTTP status codeDescription
element click intercepted400 Bad RequestThe Element Click command could not be completed because the element receiving the events is obscuring the element that was requested clicked.
element not interactable400 Bad RequestA command could not be completed because the element is not pointer- or keyboard interactable.
insecure certificate400 Bad RequestNavigation caused the user agent to hit a certificate warning, which is usually the result of an expired or invalid TLS certificate.
invalid argument400 Bad RequestThe arguments passed to a command are either invalid or malformed.
invalid cookie domain400 Bad RequestAn illegal attempt was made to set a cookie under a different domain than the current page.
invalid element state400 Bad RequestA command could not be completed because the element is in an invalid state, e.g. attempting to clear an element that isn't both editable and resettable.
invalid selector400 Bad RequestAn element retrieval command provided an unknown selector strategy.
invalid session id404 Not FoundGiven session ID is not recognised, meaning the session either does not exist of that it’s not active. Note that a session that has been deleted cannot be re-used.
javascript error500 Internal Server ErrorAn error occurred while executing JavaScript supplied by the user.
move target out of bounds500 Internal Server ErrorThe target for mouse interaction is not in the browser’s viewport and cannot be brought into that viewport.
no such alert404 Not FoundAn attempt was made to operate on a user prompt when one was not open.
no such cookie404 Not FoundNo cookie matching the given path name was found amongst the cookies of the current document.
no such element404 Not FoundAn element could not be located on the page using the given search parameters.
no such frame404 Not FoundA command to switch to a frame could not be satisfied because the frame could not be found.
no such window404 Not FoundA command to switch to a window could not be satisfied because the window could not be found.
script timeout408 Request TimeoutA script did not complete before its timeout expired.
session not created500 Internal Server ErrorA new session could not be created, either because the browser could not be started or because the provided capabilities to start the session did not match.
stale element reference404 Not FoundA command failed because the referenced element is no longer attached to the DOM.
timeout408 Request TimeoutAn operation did not complete before its timeout expired.
unable to set cookie500 Internal Server ErrorA command to set a cookie’s value could not be satisfied.
unable to capture screen500 Internal Server ErrorA screen capture was made impossible.
unexpected alert open500 Internal Server ErrorA modal dialog was open, blocking this operation.
unknown command404 Not FoundA command could not be executed because the driver was unaware of it.
unknown error500 Internal Server ErrorAn unknown error occurred in the driver whilst processing the command.
unknown method405 Method Not AllowedThe requested command matched a known URL but did not match a method for that URL.
unsupported operation500 Internal Server ErrorIndicates that a command that should have executed properly cannot be supported for some reason.

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:65 次

字数:13491

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文