浏览器操作练习 · 窗口控制

窗口大小 / 位置 / 全屏控制等操作

首页 浏览器操作导航

页面导读 · 窗口控制

演示浏览器窗口的 位置、尺寸、显示状态 全维度控制。Selenium 4 新增的 set_window_rect() 是面试高频考点。

5 个核心 API 对比:

💡 演示亮点:支持 375×812 移动端模拟,一键切换窗口尺寸看响应式布局效果。

参数配置 打开关闭 页面导航 窗口控制 页面信息 元素交互 Cookie操作 截图保存 超时等待

练习 4 · 窗口控制(大小/位置/全屏)

📋 练习要求 · 窗口控制
概念 控制浏览器窗口几何参数:状态、尺寸(宽×高)、屏幕坐标(x,y)
Selenium API maximize_window / minimize_window / fullscreen_window / set_window_size / set_window_position / get_window_size / get_window_position
练习要点
  • maximize_window() → fullscreen_window() → minimize_window(),观察状态切换
  • set_window_size(800, 600) + set_window_position(100, 100)
  • get_window_size() / get_window_position() 断言,允许 ±10px 误差
# 快速参考
driver.maximize_window()
driver.set_window_size(800, 600)
driver.set_window_position(100, 100)
size = driver.get_window_size()
assert abs(size["width"] - 800) <= 10
📋 本节练习清单
  • ✅ 练习目标 1:窗口状态切换 — maximize_window() 后断言面板「窗口状态」为 MAX;minimize_window() 后恢复窗口;fullscreen_window() 断言状态为 FUL
  • ✅ 练习目标 2:自定义窗口尺寸 — set_window_size(800, 600) 后用 get_window_size() 断言宽度、高度(允许 ±10px 误差)
  • ✅ 练习目标 3:窗口位置移动 — set_window_position(100, 100) 后用 get_window_position() 断言 x、y 坐标(允许 ±10px 误差)
4 练习目标:窗口最大化、最小化、全屏、自定义尺寸与位置移动

操作步骤:
① 使用 maximize_window() 将窗口最大化,然后断言面板中的「窗口状态」变为 MAX;再用 minimize_window() 最小化,恢复后再调 fullscreen_window() 进入全屏模式(状态应变为 FUL)。
② 使用 set_window_size(800, 600) 设置自定义尺寸,set_window_position(100, 100) 设置位置,再分别用 get_window_size() 和 get_window_position() 断言宽度、高度与 x、y 坐标是否匹配(允许 ±10px 误差)。

浏览器窗口信息面板
窗口状态 NOR
窗口宽度 -
窗口高度 -
窗口位置 X -
窗口位置 Y -
提示:真实测试时请使用 driver 的窗口 API,以上按钮仅用于面板演示。

关于我们

Python 自动化测试学习平台是一个面向软件测试工程师、开发人员及在校学生的交互式在线学习平台,专注于 Selenium WebDriver 与 Python unittest 自动化测试技能的教学与实践。

我们以"理论 + 实战 + 可交互演示"为核心特色,将八种常规元素定位和Javascript定位、元素操作、自动化测试工具、单元测试、测试模型等知识体系拆分为模块化课程,每个模块都配有可点击、可输入、可运行的模拟练习页面。

平台致力于降低自动化测试的入门门槛,让学习者从"看懂代码"到"动手实操",逐步掌握企业级自动化测试框架的设计与落地能力。

联系方式

📧邮箱:lq@selenium-auto-test.com

📞电话:0755-12345678

📍地址:深圳

💬微信公众号:Selenium自动化测试

🐙GitHub:github.com/selenium-auto-test

免责声明

1. 本平台所有示例代码、演示页面及教程内容均仅供学习交流使用,不构成任何商业推广或技术服务承诺。

2. 平台中的 Selenium API 描述、Python 语法说明均以官方文档为准,如有版本差异请以对应官方文档为准。

3. 学习者在实际项目中应用平台所学内容时,应结合自身项目环境进行充分测试,本平台不对因直接使用示例代码而产生的任何直接或间接损失承担责任。

4. 本平台所引用的第三方库(Selenium、ChromeDriver、unittest 等)版权归其各自作者及维护者所有。

5. 如涉及版权问题或内容建议,请及时通过联系方式与我们沟通,我们将第一时间处理。

查看参考答案(Python Selenium)
# 练习 4 参考答案
import time
from selenium.webdriver.common.by import By

# 1. 最大化窗口并断言面板状态
driver.maximize_window()
time.sleep(1)
status = driver.find_element(By.ID, "win_status").text
assert status == "MAX", f"期望 MAX,实际 {status}"

# 2. 最小化后恢复(演示用,Selenium 会最小化到任务栏)
driver.minimize_window()
time.sleep(1)
# 恢复:使用 set_window_size 重新显示
driver.set_window_size(1000, 700)
time.sleep(0.5)

# 3. 全屏模式
driver.fullscreen_window()
time.sleep(1)
# 面板状态需要手动同步(演示页面的 simulateWindow 函数)
driver.execute_script("simulateWindow('fullscreen')")
status = driver.find_element(By.ID, "win_status").text
assert status == "FUL", f"期望 FUL,实际 {status}"

# 4. 自定义尺寸 + 位置
driver.set_window_size(800, 600)
driver.set_window_position(100, 100)
time.sleep(0.5)

size = driver.get_window_size()
pos  = driver.get_window_position()
print(f"size={size}, position={pos}")

# 允许 ±10px 误差
assert abs(size["width"] - 800) <= 10
assert abs(size["height"] - 600) <= 10
assert abs(pos["x"] - 100) <= 10
assert abs(pos["y"] - 100) <= 10