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

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()

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 14:42:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 14:42:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 14:42:01       82 阅读
  4. Python语言-面向对象

    2024-06-13 14:42:01       91 阅读

热门阅读

  1. pytest中token的一种处理方法

    2024-06-13 14:42:01       29 阅读
  2. 算法设计与分析复习(第7章 贪心法)

    2024-06-13 14:42:01       20 阅读
  3. redis 故障处理: 持续更新

    2024-06-13 14:42:01       33 阅读
  4. 探索PostgreSQL:从基础到进阶的实用教程

    2024-06-13 14:42:01       30 阅读
  5. NXP RT1060学习总结 - fsl_flexcan 基础CAN函数说明 -3

    2024-06-13 14:42:01       31 阅读
  6. 【数学】小学公式与概念

    2024-06-13 14:42:01       26 阅读
  7. python迁移数据教程

    2024-06-13 14:42:01       31 阅读
  8. Spring (55)Spring Boot的测试支持

    2024-06-13 14:42:01       38 阅读