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

如何在Python Selenium中最小化Chrome浏览器窗口?

解决Selenium Chrome窗口最小化后代码停止执行的问题

针对你遇到的driver.minimize_window()调用后浏览器最小化但代码停滞,以及希望真正最小化而非隐藏窗口的需求,以下是几种可行的解决方案:

1. 确保Chrome与ChromeDriver版本完全匹配

Selenium的很多异常行为都源于浏览器和驱动版本不兼容。你需要:

  • 查看Chrome版本(设置→关于Chrome)
  • 下载对应版本的ChromeDriver(版本号前三位必须一致,比如Chrome 124.0.6367.x对应ChromeDriver 124.0.6367.x)
  • 替换项目中的ChromeDriver文件,重新运行测试

2. 启动Chrome时直接最小化

避开运行时调用minimize_window()的问题,通过Chrome启动参数让浏览器一开始就处于最小化状态:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 添加启动时最小化参数
chrome_options.add_argument("--start-minimized")

driver = webdriver.Chrome(options=chrome_options)
driver.get("https://example.com")

# 后续代码可正常执行,浏览器保持最小化
print(driver.title)
driver.quit()

3. 使用Windows API强制最小化窗口(仅Windows系统)

如果上述方法仍无效,可以通过系统API直接控制Chrome窗口,绕过Selenium的方法限制:
首先安装依赖:

pip install pywin32

然后编写代码:

from selenium import webdriver
import win32gui
import win32con

driver = webdriver.Chrome()
driver.get("https://example.com")

# 获取Chrome窗口句柄(根据窗口标题匹配,可调整关键词)
hwnd = win32gui.FindWindow(None, "Example Domain - Google Chrome")
if hwnd:
    # 强制最小化窗口
    win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)

# 后续代码不受影响
print(driver.title)
driver.quit()

注意:如果Chrome窗口标题变化,需要修改FindWindow的第二个参数,或者通过进程名查找更准确的句柄。

4. 修复driver.minimize_window()的阻塞问题

如果必须在运行时调用最小化方法,可尝试在调用后添加短暂等待或强制刷新页面焦点:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://example.com")

# 调用最小化后添加短暂等待,避免阻塞
driver.minimize_window()
time.sleep(0.5)
# 刷新页面焦点(可选)
driver.refresh()

# 后续代码可继续执行
print(driver.title)
driver.quit()

内容的提问来源于stack exchange,提问作者ali ahmadi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:22:15