Set Window Rect - WebDriver 编辑
The Set Window Rect command of the WebDriver API alters the size and position of the operating system window associated with the current window
. The command acts as the setter of Get Window Rect, which return object you can pass directly as this command’s payload.
Certain subsets of devices do not support setting the window dimensions or its position. On these configurations the command will return an unsupported operating error. To avoid running into situations where calling this might error it is possible to call it conditionally on whether the setWindowRect
capability is set to true for the session.
Setting the window rect takes x
, y
, width
, and height
as input. All the fields are optional, e.g. the command may be called with an empty object, and in this case it will act as a no-op. To set the position both of x
and y
are required, and correspondingly both width
and height
are required for altering the window’s dimensions.
When setting the width or height, it is not guarnateed that the resulting window size will exactly match that which was requested. The driver is expected to clamp values that are larger than the physical screen dimensions, or smaller than the minimum window size. Some drivers may also have other limitations such as not being able to resize in single-pixel increments. For this reason, the returned width
and height
might not exactly match Window.outerWidth
and Window.outerHeight
.
Setting the window’s position is similar in nature to calling Window.moveTo(x, y)
, but differences itself by bypassing security restrictions related to window manipulation.
The Set Window Rect command is blocking.
Syntax
Method | URI template |
---|---|
POST | /session/{session id}/window/rect |
URL parameters
session id
- Identifier of the session.
Payload
The input is a WindowRect
object:
x
- Horizontal position of the
window
, which equivalent toWindow.screenX
. Must be a number in the −(231) to 231 − 1 range, null, or undefined. y
- Vertical position of the
window
, which is equivalent toWindow.screenY
. Must be a number in the −(231) to 231 − 1 range, null, or undefined. width
- Outer width of the
window
, which is equivalent toWindow.outerWidth
. Must be a number in the 0 to 231 − 1 range, null, or undefined. height
- Outer width of the
window
, which is equivalent toWindow.outerHeight
. Must be a number in the 0 to 231 − 1 range, null, or undefined.
Response
The response payload is a WindowRect
:
x
- Horizontal position of the operating system window associated with
window
, equivalent toWindow.screenX
. y
- Vertical position of the operating system window associated with
window
, equivalent toWindow.screenY
. width
- Width of outer bounds of the operating system window associated with
window
, equivalent toWindow.outerWidth
. height
- Height of the outer bounds of the operating system window associated with
window
, equivalent toWindow.outerHeight
.
Errors
- Invalid argument
- If any of the fields in the
WindowRect
payload object do not meet the type or bounds constraints, or if only one of thex
/y
pair orwidth
/height
pair fields are specified. - Invalid session ID
- Session does not exist.
- No such window
- If the
window
has been closed. - Unexpected alert open
- A user prompt, such as
window.alert
, blocks execution of command until it is dealt with.
- Unsupported operation
- If the driver does not support altering the window’s size or position. This is usually the case on mobile devices, where the browser has a set dimension and cannot be moved around on the screen.
You can inspect thesetWindowRect
capability to tell if the device supports this command.
Specifications
Specification | Status | Comment |
---|---|---|
WebDriver The definition of 'Set Window Rect' in that specification. | Living Standard | Initial definition |
Browser compatibility
BCD tables only load in the browser
See also
WebWindow
object- Associated commands:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论