Selenium Python:Chrome窗口无法全屏适配屏幕的问题求助
解决Chrome窗口最大化仅调整高度的问题
我之前在使用Selenium 3.11.0搭配Python 3.6.4时,也碰到过Chrome窗口最大化只改高度不改宽度的问题,大概率是ChromeDriver和浏览器版本不兼容导致的,给你几个亲测有效的解决办法:
方法1:直接按屏幕分辨率设置窗口
既然maximize_window()有bug,我们可以先获取系统的真实屏幕分辨率,再强制设置窗口大小:
from selenium import webdriver import pyautogui # 先通过pip安装:pip install pyautogui driver = webdriver.Chrome() # 获取当前屏幕的宽高 screen_width, screen_height = pyautogui.size() # 把窗口设置为屏幕全尺寸 driver.set_window_size(screen_width, screen_height) print(driver.get_window_size())
这个方法绕开了ChromeDriver的最大化逻辑,直接用系统原生分辨率来适配,效果很稳定。
方法2:给Chrome添加启动参数强制最大化
我们可以在启动Chrome时就传入参数,让它直接以最大化状态打开:
from selenium import webdriver options = webdriver.ChromeOptions() # 添加启动参数,强制窗口最大化 options.add_argument("--start-maximized") driver = webdriver.Chrome(options=options) print(driver.get_window_size())
这种方式从Chrome启动阶段就生效,比后续调用maximize_window()更可靠,能避免很多兼容性问题。
方法3:匹配ChromeDriver与Chrome浏览器版本
Selenium 3.11.0对ChromeDriver的版本有明确要求,你可以按以下步骤操作:
- 打开Chrome,通过「菜单→帮助→关于Google Chrome」查看浏览器版本
- 下载对应版本的ChromeDriver(比如Chrome 66-68对应ChromeDriver 2.39,Chrome 69-71对应2.42)
- 替换当前使用的ChromeDriver文件,确保版本完全匹配
这是从根源解决兼容性问题的办法,后续再调用maximize_window()应该就能正常工作了。
另外,你代码里的set_window_size(480, 320)是测试小窗口的,要是目标是最大化的话就不用保留这段啦。
内容的提问来源于stack exchange,提问作者jacobcan118
相关产品推荐
相关产品推荐

