You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中使用Headless Chrome+Selenium无法最大化窗口至全屏求助

解决Headless Chrome无法最大化窗口的问题

在旧版Headless Chrome模式下,--start-maximized参数和driver.maximize_window()方法不会生效,因为无头模式没有绑定实际显示设备,默认采用800x600的固定尺寸。以下是两种可行的解决方案:

方案1:使用新版无头模式(推荐)

Chrome 112及以上版本支持--headless=new模式,该模式行为更贴近正常Chrome,可配合--start-maximized或直接指定窗口尺寸:

from selenium import webdriver

options = webdriver.ChromeOptions()
# 启用新版无头模式
options.add_argument('--headless=new')
options.add_argument('--no-sandbox')
options.add_argument("--disable-gpu")
# 方式1:指定具体全屏分辨率(如1080P)
options.add_argument('--window-size=1920,1080')
# 方式2:使用最大化参数(新版无头支持)
# options.add_argument('--start-maximized')

driver = webdriver.Chrome(DRIVER_PATH, options=options)

driver.get(SOME_URL)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px".format(size["width"], size["height"]))

方案2:旧版无头模式下强制指定尺寸

如果你的Chrome版本较低,无法使用新版无头模式,直接通过--window-size显式设置所需尺寸即可:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument("--disable-gpu")
# 设置为你需要的分辨率,比如4K
options.add_argument('--window-size=3840,2160')

driver = webdriver.Chrome(DRIVER_PATH, options=options)

driver.get(SOME_URL)
size = driver.get_window_size()
print("Window size: width = {}px, height = {}px".format(size["width"], size["height"]))

注意事项

  • 旧版无头模式(仅--headless)不支持--start-maximized和driver.maximize_window(),必须显式指定--window-size
  • 若运行在无桌面的服务器环境,即使使用新版无头模式,也建议直接指定具体尺寸以避免兼容性问题
  • --no-sandbox参数通常在Linux服务器环境下需要添加,避免权限限制

内容的提问来源于stack exchange,提问作者ameesha gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:37:22