zoukankan      html  css  js  c++  java
  • selenium 问题:OSError: [WinError 6] 句柄无效

    问题:

    执行多个用例的时候,会抛出异常:

    File "xxxxxx.py", line 16, in get_driver
        driver = webdriver.Chrome(executable_path="chromedriver.exe")
      File "D:Python3libsite-packagesseleniumwebdriverchromewebdriver.py", line 61, in __init__
        self.service.start()
      File "D:Python3libsite-packagesseleniumwebdriverchromeservice.py", line 66, in start
        self.service_args, env=env, stdout=PIPE, stderr=PIPE)
      File "D:Python3libsubprocess.py", line 754, in __init__
        _cleanup()
      File "D:Python3libsubprocess.py", line 474, in _cleanup
        res = inst._internal_poll(_deadstate=sys.maxsize)
      File "D:Python3libsubprocess.py", line 1149, in _internal_poll
        if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0:
    OSError: [WinError 6] 句柄无效。

    解决方案:

    关闭driver 时 , 使用 driver.quit()代替 driver.close()。

    分析:

    之前使用 driver.close() 时,用例执行结束有时会不能成功关闭chromedriver.exe,导致后台含有多个chromedriver.exe 进程(可以通过任务管理器查看)。

    改用 driver.quit()之后,用例执行结束可以看到后台不会含有 chromedriver.exe 进程。该问题就解决了。

    备注:

    区别

    close:只会关闭焦点所在的当前窗口

    quit:会关闭所有关联的窗口

    所以推荐使用quit 。

  • 相关阅读:
    js控制滚动条滑动
    js二维码插件总结
    wer
    验证插件——jquery.validate.js
    .py小程序总结
    Linux中xargs命令的使用
    Cacti、解决cacti的snmp error
    Cacti安装使用
    用Python发一个高逼格的朋友圈
    windows安装zabbix-agent
  • 原文地址:https://www.cnblogs.com/miniren/p/7065057.html
Copyright © 2011-2022 走看看