设置窗口矩形
设置窗口矩形 命令 WebDriver API 更改与当前 window
关联的操作系统窗口的大小和位置。该命令充当 获取窗口矩形 的设置器,该设置器返回您可以直接作为此命令的有效负载传递的对象。
某些设备子集不支持设置窗口尺寸或其位置。在这些配置上,该命令将返回一个 不支持的操作 错误。为了避免遇到可能导致调用此命令时出错的情况,可以在 setWindowRect
功能 是否为会话设置为 true 的情况下有条件地调用它。
设置窗口矩形需要 x
、y
、width
和 height
作为输入。所有字段都是可选的,例如,该命令可以调用一个空对象,在这种情况下,它将充当无操作。要设置位置,需要同时设置 x
和 y
,相应地,要更改窗口的尺寸,需要同时设置 width
和 height
。
在设置宽度或高度时,不能保证结果窗口大小会完全匹配请求的大小。驱动程序应钳制大于物理屏幕尺寸或小于最小窗口尺寸的值。某些驱动程序还可能存在其他限制,例如无法以单像素增量调整大小。因此,返回的 width
和 height
可能与 Window.outerWidth
和 Window.outerHeight
不完全匹配。
设置窗口位置类似于调用 Window.moveTo(x, y)
,但通过绕过与窗口操作相关的安全限制而区别于自身。
设置窗口矩形命令是阻塞的。
语法
方法 | URI 模板 |
---|---|
POST | /session/{session id}/window/rect |
URL 参数
会话 ID
-
会话的标识符。
有效负载
输入是一个 WindowRect
对象
x
-
window
的水平位置,它等效于Window.screenX
。必须是 −(2^31) 到 2^31 − 1 范围内的数字、null 或 undefined。 y
-
window
的垂直位置,它等效于Window.screenY
。必须是 −(2^31) 到 2^31 − 1 范围内的数字、null 或 undefined。 宽度
-
window
的外宽度,它等效于Window.outerWidth
。必须是 0 到 2^31 − 1 范围内的数字、null 或 undefined。 高度
-
window
的外宽度,它等效于Window.outerHeight
。必须是 0 到 2^31 − 1 范围内的数字、null 或 undefined。
响应
响应有效负载是一个 WindowRect
x
-
与
window
关联的操作系统窗口的水平位置,等效于Window.screenX
。 y
-
与
window
关联的操作系统窗口的垂直位置,等效于Window.screenY
。 宽度
-
与
window
关联的操作系统窗口的外边界宽度,等效于Window.outerWidth
。 高度
-
与
window
关联的操作系统窗口的外边界高度,等效于Window.outerHeight
。
错误
- 无效参数
-
如果
WindowRect
有效负载对象中的任何字段不满足类型或边界约束,或者仅指定了x
/y
对或width
/height
对字段中的一个。 - 无效的会话 ID
-
会话不存在。
- 没有这样的窗口
-
如果
window
已关闭。 - 意外的警报打开
-
用户提示(例如
window.alert
)将阻止命令执行,直到处理它为止。 - 不支持的操作
-
如果驱动程序不支持更改窗口的大小或位置。这种情况通常发生在移动设备上,因为浏览器具有固定尺寸,无法在屏幕上移动。
您可以检查
setWindowRect
功能 以确定设备是否支持此命令。
规范
规范 |
---|
WebDriver # set-window-rect |
浏览器兼容性
BCD 表格仅在浏览器中加载