設定視窗矩形
設定視窗矩形 命令 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 表格僅在瀏覽器中載入