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 相关文章推荐
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
简单了解OpenCV是个什么东西
Nov 10 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
对json字符串与python字符串的不同之处详解
Dec 19 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
python 实现目录复制的三种小结
Dec 04 Python
python数据类型可变不可变知识点总结
Mar 06 Python
python中round函数如何使用
Jun 19 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
python 监控logcat关键字功能
Sep 04 Python
手残删除python之后的补救方法
Jun 26 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面向对象全攻略 (五) 封装性
2009/09/30 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
js css自定义分页效果
2017/02/24 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
使用grappelli为django admin后台添加模板
2014/11/18 Python
python多进程控制学习小结
2018/10/31 Python
python应用文件读取与登录注册功能
2019/09/23 Python
原生python实现knn分类算法
2019/10/24 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
为什么说python适合写爬虫
2020/06/11 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
师范毕业生个人求职信
2013/12/09 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
鲁迅故居导游词
2015/02/05 职场文书
辩论会主持词
2015/07/03 职场文书