selenium+python 去除启动的黑色cmd窗口方法


Posted in Python onMay 22, 2018

其实 selenium启动窗口的时候就是 使用了subprocess.Popen 启动的驱动程序的,只要在启动的时候加上启动不显示窗口的参数即可。

下面魔改开始O(∩_∩)O哈哈~

修改代码 位于 D:\Python35\Lib\site-packages\selenium\webdriver\common\service.py 主要是 Service类的start函数

def start(self):
  """
  Starts the Service.
  :Exceptions:
   - WebDriverException : Raised either when it can't start the service
   or when it can't connect to the service
  """
  try:
   cmd = [self.path]
   cmd.extend(self.command_line_args())
   if 'win32' in str(sys.platform).lower(): ### 这里判断是否是windows平台
    ### 在windows平台上就隐藏窗口
    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW
    startupinfo.wShowWindow = subprocess.SW_HIDE
   else:
    startupinfo = None
   self.process = subprocess.Popen(cmd, env=self.env,
           close_fds=platform.system() != 'Windows',
           stdout=self.log_file, stderr=self.log_file,startupinfo=startupinfo) ### 启动驱动
   self.PID = self.process.pid ### 将cmd窗口的进程pid 保留 因为 窗口被隐藏了 所以在后续程序中必须考虑主控进程结束的时候必须结束掉 驱动cmd窗口进程
  except TypeError:
   raise
  except OSError as err:
   if err.errno == errno.ENOENT:
    raise WebDriverException(
     "'%s' executable needs to be in PATH. %s" % (
      os.path.basename(self.path), self.start_error_message)
    )
   elif err.errno == errno.EACCES:
    raise WebDriverException(
     "'%s' executable may have wrong permissions. %s" % (
      os.path.basename(self.path), self.start_error_message)
    )
   else:
    raise
  except Exception as e:
   raise WebDriverException(
    "The executable %s needs to be available in the path. %s\n%s" %
    (os.path.basename(self.path), self.start_error_message, str(e)))
  count = 0
  while True:
   self.assert_process_still_running()
   if self.is_connectable():
    break
   count += 1
   time.sleep(1)
   if count == 30:
    raise WebDriverException("Can not connect to the Service %s" % self.path)

注意 在前面先导入 sys包

因为隐藏了驱动cmd窗口 所以 结束程序的时候 一定要做杀死驱动cmd窗口的动作哦 !O(∩_∩)O!!

以上这篇selenium+python 去除启动的黑色cmd窗口方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
Python中防止sql注入的方法详解
Feb 25 Python
python3+PyQt5自定义视图详解
Apr 24 Python
python使用turtle库与random库绘制雪花
Jun 22 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
利用python求积分的实例
Jul 03 Python
Python正则表达式急速入门(小结)
Dec 16 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
python爬虫实例之获取动漫截图
May 31 Python
python判断元素是否存在的实例方法
Sep 24 Python
python3实现163邮箱SMTP发送邮件
May 22 #Python
django请求返回不同的类型图片json,xml,html的实例
May 22 #Python
Django使用HttpResponse返回图片并显示的方法
May 22 #Python
python实现最长公共子序列
May 22 #Python
使用python存储网页上的图片实例
May 22 #Python
python3模块smtplib实现发送邮件功能
May 22 #Python
Python3.x爬虫下载网页图片的实例讲解
May 22 #Python
You might like
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
JavaScript的Cookies
2008/01/16 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
Bootstrap模态框禁用空白处点击关闭
2016/10/20 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
python根据出生日期返回年龄的方法
2015/03/26 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python使用matplotlib绘制热图
2018/11/07 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
python 产生token及token验证的方法
2018/12/26 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Python连接mysql方法及常用参数
2020/09/01 Python
Tostadora意大利:定制T恤
2019/04/08 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
android面试问题与答案
2016/12/27 面试题
酒店管理专业学生求职信
2013/09/27 职场文书
大学生毕业自我鉴定范文
2013/11/03 职场文书
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
治超工作实施方案
2014/05/04 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技