Set Window Rect
Der Set Window Rect Befehl der WebDriver-API ändert die Größe und Position des Betriebssystemfensters, das mit dem aktuellen window
verknüpft ist. Der Befehl fungiert als Setter für Get Window Rect, dessen Rückgabeobjekt direkt als Nutzlast dieses Befehls verwendet werden kann.
Einige Geräte unterstützen nicht das Setzen der Fensterdimensionen oder deren Position. In diesen Konfigurationen gibt der Befehl einen unsupported operating-Fehler zurück. Um zu vermeiden, dass dieser Fehler auftritt, kann der Befehl bedingt aufgerufen werden, wenn die setWindowRect
Fähigkeit für die Sitzung auf true gesetzt ist.
Das Setzen des Fensters umfasst die Eingaben x
, y
, width
und height
. Alle Felder sind optional, z. B. kann der Befehl mit einem leeren Objekt aufgerufen werden, in diesem Fall wird er keine Operation ausführen. Um die Position festzulegen, sind sowohl x
als auch y
erforderlich, und entsprechend sind sowohl width
als auch height
erforderlich, um die Fensterabmessungen zu ändern.
Beim Einstellen der Breite oder Höhe ist es nicht garantiert, dass die resultierende Fenstergröße genau der gewünschten entspricht. Der Treiber sollte Werte, die größer als die physischen Bildschirmabmessungen oder kleiner als die Mindestfenstergröße sind, begrenzen. Einige Treiber können auch andere Einschränkungen haben, wie z. B. die Unfähigkeit, in Ein-Pixel-Schritten zu ändern. Daher können die zurückgegebenen width
und height
unter Umständen nicht genau mit Window.outerWidth
und Window.outerHeight
übereinstimmen.
Das Setzen der Fensterposition ähnelt dem Aufruf von Window.moveTo(x, y)
, unterscheidet sich jedoch dadurch, dass es Sicherheitsbeschränkungen bei der Fenstermanipulation umgeht.
Der Set Window Rect Befehl ist blockierend.
Syntax
Methode | URI-Vorlage |
---|---|
POST | /session/{session id}/window/rect |
URL-Parameter
session id
-
Bezeichner der Sitzung.
Nutzlast
Die Eingabe ist ein WindowRect
-Objekt:
x
-
Horizontale Position des
window
, äquivalent zuWindow.screenX
. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefiniert sein. y
-
Vertikale Position des
window
, äquivalent zuWindow.screenY
. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefiniert sein. width
-
Äußere Breite des
window
, äquivalent zuWindow.outerWidth
. Muss eine Zahl im Bereich von 0 bis 2^31 − 1, null oder undefiniert sein. height
-
Äußere Breite des
window
, äquivalent zuWindow.outerHeight
. Muss eine Zahl im Bereich von 0 bis 2^31 − 1, null oder undefiniert sein.
Antwort
Die Antwort-Nutzlast ist ein WindowRect
:
x
-
Horizontale Position des Betriebssystemfensters, das mit
window
assoziiert ist, äquivalent zuWindow.screenX
. y
-
Vertikale Position des Betriebssystemfensters, das mit
window
assoziiert ist, äquivalent zuWindow.screenY
. width
-
Breite der äußeren Begrenzungen des Betriebssystemfensters, das mit
window
assoziiert ist, äquivalent zuWindow.outerWidth
. height
-
Höhe der äußeren Begrenzungen des Betriebssystemfensters, das mit
window
assoziiert ist, äquivalent zuWindow.outerHeight
.
Fehler
- Invalid argument
-
Wenn eines der Felder im
WindowRect
-Nutzlast-Objekt nicht die Typ- oder Bereichsgrenzen erfüllt, oder wenn nur eines der Felderx
/y
oderwidth
/height
angegeben ist. - Invalid session ID
-
Sitzung existiert nicht.
- No such window
-
Wenn das
window
geschlossen wurde. - Unexpected alert open
-
Ein Benutzer-Prompt, wie
window.alert
, blockiert die Ausführung des Befehls, bis es behandelt wird. - Unsupported operation
-
Wenn der Treiber das Ändern der Fenstergröße oder -position nicht unterstützt. Dies ist normalerweise bei Mobilgeräten der Fall, bei denen der Browser feste Dimensionen hat und nicht auf dem Bildschirm verschoben werden kann.
Sie können die
setWindowRect
Fähigkeit überprüfen, um festzustellen, ob das Gerät diesen Befehl unterstützt.
Spezifikationen
Specification |
---|
WebDriver # set-window-rect |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
-
WebWindow
-Objekt -
Zugehörige Befehle: