解决:selenium运行时driver初始化失败 DevToolsActivePort file doesn‘t exist的问题

本文主要是介绍解决: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的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058511

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错