使用 pyinstaller 摆脱 chromedriver 控制台 window
Getting rid of chromedirver console window with pyinstaller
我在无头模式中使用chrome驱动程序。我使用 pyinstaller 将脚本编译为一个 exe 文件。一切正常,除了我得到以下 console window 每当我打开 chrome 页面时:
我单独尝试了选项 --windowed
、单独 --noconsole
、--windowed
和 --noconsole
,但我仍然得到 window。
我怎样才能摆脱它?
我找到了以下答案,它对我来说非常有用:
要避免获取 chromedriver 的控制台 windows,请打开文件
Python\Lib\site-packages\selenium\webdriver\common\service.py
并改变
self.process = subprocess.Popen(cmd, env=self.env, close_fds=platform.system() != 'Windows', stdout=self.log_file, stderr=self.log_file, stdin=PIPE)
收件人:
self.process = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE ,stderr=PIPE, shell=False, creationflags=0x08000000)
我遇到了类似的问题,我想分享一下我是如何解决它的。首先我将描述上下文:
-- 我的脚本运行良好,它打开 chrome windows 正常(不是无头)。
-- 我使用了 pyinstaller(带有 onefile 和 noconsole 命令)。
-- EXE 可以运行,但每次它打开 chrome window,它也会打开一个控制台 window,我不记得 [=39= 是什么了] 说,但这不是错误。
-- 我尝试了 Ahmed post 的解决方案,那天它奏效了。
-- 第二天在各台电脑上试了EXE,问题又来了
-- 我推迟了那个问题,因为它不是致命错误,而且我的应用程序中还有更重要的问题需要解决。因此,当我试图解决另一个问题时,我找到了这个答案:.
-- 基本上它说的是改变你在 运行 pyinstaller 时使用的命令的顺序,实际上会影响 EXE 文件的打包方式。 (我不确定为什么)。
-- 我 运行: pyinstaller --add-binary "chromedriver.exe;." --noconsole --onefile myApp.py
这最终使控制台 window 不再显示。
希望这对任何人都有用。
我在无头模式中使用chrome驱动程序。我使用 pyinstaller 将脚本编译为一个 exe 文件。一切正常,除了我得到以下 console window 每当我打开 chrome 页面时:
我单独尝试了选项 --windowed
、单独 --noconsole
、--windowed
和 --noconsole
,但我仍然得到 window。
我怎样才能摆脱它?
我找到了以下答案,它对我来说非常有用:
要避免获取 chromedriver 的控制台 windows,请打开文件
Python\Lib\site-packages\selenium\webdriver\common\service.py
并改变
self.process = subprocess.Popen(cmd, env=self.env, close_fds=platform.system() != 'Windows', stdout=self.log_file, stderr=self.log_file, stdin=PIPE)
收件人:
self.process = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE ,stderr=PIPE, shell=False, creationflags=0x08000000)
我遇到了类似的问题,我想分享一下我是如何解决它的。首先我将描述上下文:
-- 我的脚本运行良好,它打开 chrome windows 正常(不是无头)。
-- 我使用了 pyinstaller(带有 onefile 和 noconsole 命令)。
-- EXE 可以运行,但每次它打开 chrome window,它也会打开一个控制台 window,我不记得 [=39= 是什么了] 说,但这不是错误。
-- 我尝试了 Ahmed post 的解决方案,那天它奏效了。
-- 第二天在各台电脑上试了EXE,问题又来了
-- 我推迟了那个问题,因为它不是致命错误,而且我的应用程序中还有更重要的问题需要解决。因此,当我试图解决另一个问题时,我找到了这个答案:.
-- 基本上它说的是改变你在 运行 pyinstaller 时使用的命令的顺序,实际上会影响 EXE 文件的打包方式。 (我不确定为什么)。
-- 我 运行: pyinstaller --add-binary "chromedriver.exe;." --noconsole --onefile myApp.py
这最终使控制台 window 不再显示。
希望这对任何人都有用。