设置窗口矩形

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

WebDriver API 中的 Set Window Rect 命令会修改当前 window 关联的操作系统窗口的大小和位置。该命令充当 Get Window Rect 的 setter,后者返回的对象可以直接作为此命令的载荷传递。

某些设备子集不支持设置窗口尺寸或位置。在这些配置上,该命令将返回一个 不支持的操作 错误。为避免调用此命令时出错,可以根据会话是否将 setWindowRect capability 设置为 true 来有条件地调用它。

设置窗口矩形需要 xywidthheight 作为输入。所有字段都是可选的,例如,该命令可以传递一个空对象来调用,在这种情况下,它将不起作用。要设置位置,需要同时指定 xy;相应地,要修改窗口尺寸,需要同时指定 widthheight

设置宽度或高度时,不保证最终窗口尺寸会完全匹配请求的大小。驱动程序应将大于物理屏幕尺寸的值或小于最小窗口尺寸的值限制在范围内。一些驱动程序可能还有其他限制,例如无法以单像素增量进行调整。出于此原因,返回的 widthheight 可能与 Window.outerWidthWindow.outerHeight 不完全匹配。

设置窗口位置在性质上类似于调用 Window.moveTo(x, y),但它通过绕过与窗口操作相关的安全限制来区分自己。

Set Window Rect 命令是阻塞式的。

语法

方法 URI 模板
POST /session/{session id}/window/rect

URL 参数

session id

会话的标识符。

负载

输入是一个 WindowRect 对象

x

窗口的水平位置,相当于 Window.screenX。必须是 -(2^31) 到 2^31 - 1 范围内的数字、null 或 undefined。

y

窗口的垂直位置,相当于 Window.screenY。必须是 -(2^31) 到 2^31 - 1 范围内的数字、null 或 undefined。

width

窗口的外部宽度,相当于 Window.outerWidth。必须是 0 到 2^31 - 1 范围内的数字、null 或 undefined。

height

窗口的外部高度,相当于 Window.outerHeight。必须是 0 到 2^31 - 1 范围内的数字、null 或 undefined。

Response

响应载荷是一个 WebWindow 对象

x

window 关联的操作系统窗口的水平位置,相当于 Window.screenX

y

window 关联的操作系统窗口的垂直位置,相当于 Window.screenY

width

window 关联的操作系统窗口的外部边界宽度,相当于 Window.outerWidth

height

window 关联的操作系统窗口的外部边界高度,相当于 Window.outerHeight

错误

无效参数

如果 WindowRect 载荷对象中的任何字段不符合类型或边界约束,或者只指定了 x/y 对或 width/height 对中的一个字段。

无效的会话 ID

会话不存在。

未找到该窗口

如果 window 已关闭。

意外的 alert 打开

用户提示(如 window.alert)会阻止命令执行,直到处理完毕。

不支持的操作

如果驱动程序不支持修改窗口的大小或位置。这通常发生在移动设备上,因为浏览器具有固定的尺寸,无法在屏幕上移动。

您可以检查 setWindowRect capability 来判断设备是否支持此命令。

规范

规范
WebDriver
# set-window-rect

浏览器兼容性

另见