介绍
介绍
之前福哥给大家讲过关于Python的selenium库的使用技巧,通过selenium库可以调用浏览器打开网页并且进行自动化操作的方法。
selenium库有个headless模式,就是headless模式下不会弹出浏览器窗口,可以让自动化过程更像一个命令行程序在运行。不过这个headless模式下在终端会打印巨多的控制台信息,这些信息无法通过代码关闭,简直就是刷屏神器一样的存在,怎么办?
解决
可以通过修改selenium安装库里进行一些修改关闭这些控制台信息。
打开selenium库目录
python软件库目录在python安装目录的Lib文件夹下面,selenium软件库在Lib/site-packages文件夹下面。
D:\TFHome\Python27\Lib\site-packages\selenium
打开service.py程序
service.py程序在selenium文件夹下面
D:\TFHome\Python27\Lib\site-packages\selenium\webdriver\common\service.py
导入CREATE_NO_WINDOW库
在service.py程序最前面导入CREATE_NO_WINDOW库
from win32process import CREATE_NO_WINDOW
部分环境里面有可能没有win32process这个库,可以通过下面的命令安装
pip install pypiwin32
修改start方法
修改start方法的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)
总结
经过前面的改造后,再使用selenium的headless模式编写程序的时候就不会再有控制台信息刷屏了~~