python运行界面黑色_[宜配屋]听图阁 - selenium+python 去除启动的黑色cmd窗口方法

page-header-to-2021-08-21.jpg

其实 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设计】。

page-footer-to-2021-08-21.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值