Pyinstaller打包后执行webdriver.Chrome,弹黑框问题解决方案 - 蝈蝈俊
💡
原文中文,约1900字,阅读约需5分钟。
📝
内容提要
本文介绍了解决 Chromedriver 弹出黑框问题的三种解决方案,包括修改 Selenium 源码、控制 subprocess.STARTUPINFO() 和设置 chrome_service.creation_flags = CREATE_NO_WINDOW。在使用时需注意绝对目录避免版本冲突。
🎯
关键要点
- Chromedriver 默认情况下会在控制台存在时使用当前控制台,否则会新建一个控制台,导致弹出黑框问题。
- 解决方案一:修改 Selenium 源码,在 service.py 中的 subprocess.Popen 加入 creationflags=134217728。
- 解决方案二:使用 subprocess.STARTUPINFO() 控制,封装 NoConsoleChromeWebDriver,不修改 Selenium 源码。
- 在 Selenium 4.0 以上版本中,chrome_service.creation_flags = CREATE_NO_WINDOW 是解决方案。
- 注意使用绝对目录以避免版本冲突,可能导致 WebDriverException 错误。
- 可以使用函数获取当前执行目录和相对目录。
🏷️
标签
➡️