Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Fensterrechteck festlegen

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Der Befehl Set Window Rect der WebDriver-API command ändert die Größe und Position des Betriebssystemfensters, das mit dem aktuellen window verknüpft ist. Der Befehl fungiert als Setter von Get Window Rect, dessen Rückgabeobjekt Sie direkt als Payload dieses Befehls übergeben können.

Bestimmte Gerätegruppen unterstützen das Festlegen der Fensterabmessungen oder seiner Position nicht. In diesen Konfigurationen gibt der Befehl einen Fehler unsupported operation zurück. Um Situationen zu vermeiden, in denen dieser Aufruf einen Fehler verursachen könnte, können Sie ihn bedingt ausführen, je nachdem, ob die Capability setWindowRect für die Sitzung auf „true“ gesetzt ist.

Das Festlegen des Fensterrechtecks akzeptiert x, y, width und height als Eingabe. Alle Felder sind optional; beispielsweise kann der Befehl mit einem leeren Objekt aufgerufen werden und wirkt in diesem Fall als No-Op. Zum Festlegen der Position sind sowohl x als auch y erforderlich; entsprechend sind sowohl width als auch height erforderlich, um die Fensterabmessungen zu ändern.

Beim Festlegen der Breite oder Höhe wird nicht garantiert, dass die resultierende Fenstergröße exakt der angeforderten Größe entspricht. Der Driver soll Werte begrenzen, die größer als die physischen Bildschirmabmessungen oder kleiner als die minimale Fenstergröße sind. Einige Driver können außerdem weitere Einschränkungen haben, etwa dass sie die Größe nicht in Ein-Pixel-Schritten ändern können. Daher stimmen die zurückgegebenen Werte für width und height möglicherweise nicht genau mit Window.outerWidth und Window.outerHeight überein.

Das Festlegen der Fensterposition ähnelt dem Aufruf von Window.moveTo(x, y), unterscheidet sich jedoch dadurch, dass Sicherheitsbeschränkungen in Bezug auf Fenstermanipulationen umgangen werden.

Der Befehl Set Window Rect ist blockierend.

Syntax

Methode URI-Vorlage
POST /session/{session id}/window/rect

URL-Parameter

session id

Kennung der Sitzung.

Payload

Die Eingabe ist ein WindowRect-Objekt:

x

Horizontale Position des window, die Window.screenX entspricht. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefined sein.

y

Vertikale Position des window, die Window.screenY entspricht. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefined sein.

width

Äußere Breite des window, die Window.outerWidth entspricht. Muss eine Zahl im Bereich von 0 bis 2^31 − 1, null oder undefined sein.

height

Äußere Höhe des window, die Window.outerHeight entspricht. Muss eine Zahl im Bereich von 0 bis 2^31 − 1, null oder undefined sein.

Antwort

Der Payload der Antwort ist ein WindowRect:

x

Horizontale Position des Betriebssystemfensters, das mit window verknüpft ist; entspricht Window.screenX.

y

Vertikale Position des Betriebssystemfensters, das mit window verknüpft ist; entspricht Window.screenY.

width

Breite der äußeren Begrenzungen des Betriebssystemfensters, das mit window verknüpft ist; entspricht Window.outerWidth.

height

Höhe der äußeren Begrenzungen des Betriebssystemfensters, das mit window verknüpft ist; entspricht Window.outerHeight.

Fehler

invalid argument

Wenn eines der Felder im Payload-Objekt WindowRect die Typ- oder Bereichsbeschränkungen nicht erfüllt oder wenn nur eines der Feldpaare x/y oder width/height angegeben ist.

invalid session id

Die Sitzung existiert nicht.

no such window

Wenn das window geschlossen wurde.

unexpected alert open

Eine Benutzeraufforderung, etwa window.alert, blockiert die Ausführung des Befehls, bis sie behandelt wurde.

unsupported operation

Wenn der Driver das Ändern der Fenstergröße oder -position nicht unterstützt. Dies ist normalerweise bei Mobilgeräten der Fall, bei denen der Browser feste Abmessungen hat und nicht auf dem Bildschirm verschoben werden kann.

Sie können die Capability setWindowRect prüfen, um festzustellen, ob das Gerät diesen Befehl unterstützt.

Spezifikationen

Spezifikation
WebDriver
# set-window-rect

Browser-Kompatibilität

Siehe auch