設定視窗矩形

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

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

瀏覽器相容性

另見