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 zu Window.screenX. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefiniert sein.

y

Vertikale Position des window, äquivalent zu Window.screenY. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefiniert sein.

width

Äußere Breite des window, äquivalent zu Window.outerWidth. Muss eine Zahl im Bereich von 0 bis 2^31 − 1, null oder undefiniert sein.

height

Äußere Breite des window, äquivalent zu Window.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 zu Window.screenX.

y

Vertikale Position des Betriebssystemfensters, das mit window assoziiert ist, äquivalent zu Window.screenY.

width

Breite der äußeren Begrenzungen des Betriebssystemfensters, das mit window assoziiert ist, äquivalent zu Window.outerWidth.

height

Höhe der äußeren Begrenzungen des Betriebssystemfensters, das mit window assoziiert ist, äquivalent zu Window.outerHeight.

Fehler

Invalid argument

Wenn eines der Felder im WindowRect-Nutzlast-Objekt nicht die Typ- oder Bereichsgrenzen erfüllt, oder wenn nur eines der Felder x/y oder width/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