Set Window Rect

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Lệnh Set Window Rect của API WebDriver thay đổi kích thước và vị trí của cửa sổ hệ điều hành được liên kết với window hiện tại. Lệnh này đóng vai trò như bộ thiết lập cho Get Window Rect, và đối tượng trả về của nó có thể được truyền trực tiếp làm dữ liệu gửi lên của lệnh này.

Một số tập hợp thiết bị không hỗ trợ việc đặt kích thước hoặc vị trí cửa sổ. Trên các cấu hình này, lệnh sẽ trả về lỗi unsupported operating. Để tránh rơi vào tình huống gọi lệnh này gây lỗi, có thể gọi nó có điều kiện khi setWindowRect capability được đặt là true cho phiên.

Việc đặt window rect nhận x, y, width, và height làm đầu vào. Tất cả các trường đều là tùy chọn, ví dụ lệnh có thể được gọi với một đối tượng rỗng và trong trường hợp này nó sẽ hoạt động như một thao tác không làm gì. Để đặt vị trí thì cần cả xy, và tương ứng cả widthheight đều cần để thay đổi kích thước cửa sổ.

Khi đặt width hoặc height, không có gì đảm bảo kích thước cửa sổ kết quả sẽ khớp chính xác với kích thước được yêu cầu. Driver được kỳ vọng sẽ chặn các giá trị lớn hơn kích thước màn hình vật lý hoặc nhỏ hơn kích thước cửa sổ tối thiểu. Một số driver cũng có thể có các giới hạn khác, chẳng hạn không thể thay đổi kích thước theo từng pixel đơn lẻ. Vì lý do này, widthheight trả về có thể không khớp chính xác với Window.outerWidthWindow.outerHeight.

Việc đặt vị trí cửa sổ có bản chất tương tự như gọi Window.moveTo(x, y), nhưng khác ở chỗ bỏ qua các hạn chế bảo mật liên quan đến thao tác cửa sổ.

Lệnh Set Window Rect là lệnh đồng bộ chặn.

Cú pháp

Method URI template
POST /session/{session id}/window/rect

Tham số URL

session id

Định danh của phiên.

Dữ liệu gửi lên

Dữ liệu đầu vào là một đối tượng WindowRect:

x

Vị trí ngang của window, tương đương với Window.screenX. Phải là một số trong khoảng −(2^31) đến 2^31 − 1, null, hoặc undefined.

y

Vị trí dọc của window, tương đương với Window.screenY. Phải là một số trong khoảng −(2^31) đến 2^31 − 1, null, hoặc undefined.

width

Chiều rộng ngoài của window, tương đương với Window.outerWidth. Phải là một số trong khoảng 0 đến 2^31 − 1, null, hoặc undefined.

height

Chiều cao ngoài của window, tương đương với Window.outerHeight. Phải là một số trong khoảng 0 đến 2^31 − 1, null, hoặc undefined.

Phản hồi

Phần dữ liệu phản hồi là một WindowRect:

x

Vị trí ngang của cửa sổ hệ điều hành được liên kết với window, tương đương với Window.screenX.

y

Vị trí dọc của cửa sổ hệ điều hành được liên kết với window, tương đương với Window.screenY.

width

Chiều rộng của ranh giới ngoài của cửa sổ hệ điều hành được liên kết với window, tương đương với Window.outerWidth.

height

Chiều cao của ranh giới ngoài của cửa sổ hệ điều hành được liên kết với window, tương đương với Window.outerHeight.

Lỗi

Invalid argument

Nếu bất kỳ trường nào trong đối tượng dữ liệu gửi lên WindowRect không đáp ứng ràng buộc kiểu hoặc giới hạn, hoặc nếu chỉ có một trong hai trường của cặp x/y hoặc cặp width/height được chỉ định.

Invalid session ID

Phiên không tồn tại.

No such window

Nếu window đã bị đóng.

Unexpected alert open

Một lời nhắc của người dùng, chẳng hạn như window.alert, chặn việc thực thi lệnh cho đến khi nó được xử lý.

Unsupported operation

Nếu driver không hỗ trợ thay đổi kích thước hoặc vị trí cửa sổ. Điều này thường xảy ra trên thiết bị di động, nơi trình duyệt có kích thước cố định và không thể di chuyển quanh màn hình.

Bạn có thể kiểm tra setWindowRect capability để biết thiết bị có hỗ trợ lệnh này hay không.

Đặc tả

Specification
WebDriver
# set-window-rect

Tương thích trình duyệt

Xem thêm