如何在Python版Selenium中检测浏览器是否已最小化?
在Python版Selenium中检测浏览器是否已最小化
用get_window_rect()替代get_window_size()
get_window_size()返回的是浏览器最小化前的预设内容区域尺寸,无法反映当前窗口的实际显示状态。你需要改用get_window_rect()方法,它会返回包含窗口位置(x、y坐标)和实际尺寸的字典,通过坐标特征就能判断窗口是否最小化。
不同系统的最小化窗口特征:
- Windows:最小化后窗口会被移出可视区域,y坐标通常为
-32000左右 - macOS:最小化窗口会被移至Dock附近,y坐标会远大于屏幕高度或为特定负值
示例代码:
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") # 测试用:主动最小化窗口 driver.minimize_window() window_info = driver.get_window_rect() # Windows环境下的判断逻辑 is_minimized = window_info['y'] <= -32000 print(f"浏览器是否最小化:{is_minimized}") driver.quit()
关于driver.manage()的说明
Python版Selenium中,driver.manage是存在的(注意不要加括号),窗口相关操作通过driver.manage.window访问,比如:
# 最大化窗口 driver.manage.window.maximize() # 最小化窗口 driver.manage.window.minimize() # 获取窗口尺寸 driver.manage.window.size
你之前找不到该属性大概率是语法错误,比如误写为driver.manage()(带括号)或者拼写错误。
内容的提问来源于stack exchange,提问作者LikeLinux
相关产品推荐
相关产品推荐

