Fensterrechteck festlegen
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Der Set Window Rect Befehl der WebDriver API ändert die Größe und Position des Betriebssystemfensters, das dem aktuellen window zugeordnet ist. Der Befehl fungiert als Setter von Get Window Rect, dessen Rückgabeobjekt direkt als Nutzlast für diesen Befehl verwendet werden kann.
Bestimmte Gruppen von Geräten unterstützen nicht das Festlegen der Fensterabmessungen oder dessen Position. Bei diesen Konfigurationen wird der Befehl einen unsupported operating Fehler zurückgeben. Um Situationen zu vermeiden, in denen dies zu einem Fehler führen könnte, ist es möglich, den Befehl bedingt aufzurufen, je nachdem, ob die setWindowRect Fähigkeit für die Sitzung auf wahr gesetzt ist.
Das Festlegen des Fensterrechtecks benötigt x, y, width und height als Eingaben. Alle Felder sind optional, z.B. kann der Befehl mit einem leeren Objekt aufgerufen werden, in welchem Fall es als No-Op (wird nichts tun) fungiert. Um die Position festzulegen, sind sowohl x als auch y erforderlich, und entsprechend sind sowohl width als auch height erforderlich, um die Abmessungen des Fensters zu ändern.
Beim Festlegen der Breite oder Höhe gibt es keine Garantie, dass die resultierende Fenstergröße genau der angeforderten Größe entspricht. Der Treiber ist dafür verantwortlich, Werte zu klemmen, die größer als die physischen Bildschirmabmessungen sind oder kleiner als die Mindestgröße des Fensters. Einige Treiber können auch andere Einschränkungen haben, wie z.B. die Unfähigkeit, in Ein-Pixel-Schritten zu skalieren. Aus diesem Grund stimmen die zurückgegebenen width und height möglicherweise nicht exakt mit Window.outerWidth und Window.outerHeight überein.
Das Festlegen der Fensterposition ist ähnlich wie der Aufruf von Window.moveTo(x, y), unterscheidet sich jedoch dadurch, dass die Sicherheitsbeschränkungen im Zusammenhang mit der Fenstermanipulation umgangen werden.
Der Befehl zum Festlegen des Fensterrechtecks 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, die gleichwertig mitWindow.screenXist. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefined sein. y-
Vertikale Position des
window, die gleichwertig mitWindow.screenYist. Muss eine Zahl im Bereich von −(2^31) bis 2^31 − 1, null oder undefined sein. width-
Äußere Breite des
window, die gleichwertig mitWindow.outerWidthist. Muss eine Zahl im Bereich von 0 bis 2^31 − 1, null oder undefined sein. height-
Äußere Höhe des
window, die gleichwertig mitWindow.outerHeightist. Muss eine Zahl im Bereich von 0 bis 2^31 − 1, null oder undefined sein.
Antwort
Die Antwort-Nutzlast ist ein WindowRect:
x-
Horizontale Position des Betriebssystemfensters, das mit
windowassoziiert ist, gleichwertig mitWindow.screenX. y-
Vertikale Position des Betriebssystemfensters, das mit
windowassoziiert ist, gleichwertig mitWindow.screenY. width-
Breite der äußeren Umrandungen des Betriebssystemfensters, das mit
windowassoziiert ist, gleichwertig mitWindow.outerWidth. height-
Höhe der äußeren Umrandungen des Betriebssystemfensters, das mit
windowassoziiert ist, gleichwertig mitWindow.outerHeight.
Fehler
- Ungültiges Argument
-
Wenn eines der Felder im
WindowRectNutzlastobjekt nicht den Typ- oder Grenzbeschränkungen entspricht oder wenn nur eines derx/yoderwidth/heightFelder angegeben ist. - Ungültige Sitzungs-ID
-
Sitzung existiert nicht.
- Kein solches Fenster
-
Wenn das
windowgeschlossen wurde. - Unerwartetes geöffnetes Warnfenster
-
Eine Benutzeraufforderung, wie
window.alert, blockiert die Ausführung des Befehls, bis diese behandelt wird. - Nicht unterstützte Operation
-
Wenn der Treiber das Ändern der Fenstergröße oder -position nicht unterstützt. Dies ist normalerweise bei mobilen Geräten der Fall, bei denen der Browser eine feste Größe hat und nicht auf dem Bildschirm verschoben werden kann.
Sie können die
setWindowRectFähigkeit überprüfen, um festzustellen, ob das Gerät diesen Befehl unterstützt.
Spezifikationen
| Specification |
|---|
| WebDriver> # set-window-rect> |
Browser-Kompatibilität
Siehe auch
WebWindowObjekt- Verwandte Befehle: