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

运行Selenium打包的可执行文件时如何不弹出chromedriver.exe窗口

解决PyInstaller打包Selenium程序后chromedriver控制台弹出的问题

核心解决方案

方法1:调整ChromeService启动参数(适用于Selenium 4.0+版本,无需修改源码,优先推荐)

Windows系统下可以通过给ChromeDriver的服务进程设置CREATE_NO_WINDOW标志,完全隐藏其控制台窗口,代码示例如下:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
import subprocess

# 配置Chrome浏览器基础选项
chrome_options = webdriver.ChromeOptions()
# 若不需要显示浏览器界面,可开启无头模式
# chrome_options.add_argument("--headless=new")

# 配置服务启动参数,添加无窗口创建标志
chrome_service = ChromeService(
    # 如果你手动指定chromedriver路径再添加该行,使用webdriver-manager自动管理可省略
    # executable_path="chromedriver.exe路径",
    creationflags=subprocess.CREATE_NO_WINDOW
)

# 初始化浏览器对象
driver = webdriver.Chrome(service=chrome_service, options=chrome_options)

修改代码后重新用PyInstaller打包即可,不需要调整原有打包参数。

方法2:修改Selenium源码(适用于Selenium 3.x旧版本)

如果你的项目依赖Selenium 3.x无法升级,可以修改Selenium底层的服务启动逻辑:

  • 找到Python环境下的Lib/site-packages/selenium/webdriver/common/service.py文件
  • 找到start方法中调用subprocess.Popen的代码行
  • 给Popen方法添加参数creationflags=0x08000000(对应Windows无窗口启动标志)
  • 保存文件后重新打包程序即可

注意事项

  • 上述无窗口启动标志仅适用于Windows系统,Mac、Linux系统默认不会弹出子进程控制台窗口,无需额外配置
  • 建议先将PyInstaller升级到最新版本,部分旧版本PyInstaller存在子进程窗口隐藏的兼容性bug,升级命令为pip install --upgrade pyinstaller

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:06:03