关闭selenium开发中的chromedriver控制台

采用selenium操作浏览器执行自动化操作的场景时,在使用 pyinstaller 打包成exe文件后,会有chromedriver.exe 或 geckodriver.exe 的console命令行窗口。

我们打包成exe文件一般是要分发到客户电脑上,出现这个窗体不太友好,我们需要把它隐藏掉:

先安装pywin32    安装命令:pip install pywin32

找到python安装目录,比如:

D:\Python\Python37\Lib\site-packages\selenium\webdriver\common\service.py

==》位置约: 72行

修改这个文件,先在顶部导入依赖包:from win32process import CREATE_NO_WINDOW

然后找到def start(self) 函数,里面的 subprocess.Popen增加一个参数:creationflags=CREATE_NO_WINDOW

最终改成:

```

self.process= subprocess.Popen(cmd, env=self.env, 

                                                     close_fds=platform.system() != 'Windows', 

                                                      stdout=self.log_file, stderr=self.log_file, 

                                                      stdin=PIPE, creationflags=CREATE_NO_WINDOW)

```

也可以直接使用creationflags=0x08000000这样的值。

重新打包 pyinstaller -F -w main.py 就可以了。如果还有命令行窗体出现看下面 关闭cmd控制台中的日志打印

转载自:

https://blog.csdn.net/xinxianren007/article/details/108031372

https://stackoverflow.com/questions/33983860/hide-chromedriver-console-in-python

http://www.piaoyi.org/python/python-dev-tips.html

posted @ 2023-02-07 19:19  不加面  阅读(235)  评论(0编辑  收藏  举报