本文主要是介绍解决:selenium运行时driver初始化失败 DevToolsActivePort file doesn‘t exist的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解决:selenium运行时driver初始化失败 DevToolsActivePort file doesn‘t exist的问题
- DevToolsActivePort file doesn't exist
- 报错信息:![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b3f8acc1c47d45e3912575896e421567.png)
- 现象:在使用pytest结合pytest-xdist使用时 运行一段时候后 selenium出现driver初始化失败
- 原因:pytest-xdist多进程运行 driver未正常关闭 浏览器资源不足导致driver初始化失败
- 分析:drivrt.close() drivrt.quit()
DevToolsActivePort file doesn’t exist
报错信息:
现象:在使用pytest结合pytest-xdist使用时 运行一段时候后 selenium出现driver初始化失败
原因:pytest-xdist多进程运行 driver未正常关闭 浏览器资源不足导致driver初始化失败
分析:drivrt.close() drivrt.quit()
drivrt.close() 关闭页面
drivrt.quit() 关闭浏览器
结合任务管理器查看
单独执行 drivrt.close() chromedriver.exe 进程没有退出,但窗口关闭了。
单独执行 drivrt.quit() chromedriver.exe 进程退出了,但窗口没有关闭。
查看drivrt.quit() 源码 最终都会执行self.service.stop()
解决方案:
- 重新封装方法:
def close(self):'''退出浏览器:return:'''logger.info(f"关闭标签页 但不关闭浏览器")self.driver.close()def quit(self):logger.info(f"退出浏览器并关闭进程")'''先挂关闭浏览器,再停止service,可以达到杀死chromedriver.exe进程和关闭窗口'''self.driver.close()self.driver.service.stop()
这篇关于解决:selenium运行时driver初始化失败 DevToolsActivePort file doesn‘t exist的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!