• 使用__del__() 函数关闭浏览器报错:ImportError: sys.meta_path is None, Python is likely shutting down


    定义__del__()析构函数关闭浏览器报如下错误:ImportError: sys.meta_path is None, Python is likely shutting down

       def __del__(self):
          """
          析构方法,对象被摧毁时自动执行
          :return:
          """
          self.driver.quit()
    

    解决方法

    从报错可看出在python安装目录site-packagesseleniumwebdrivercommonservice.py文件152行理捕捉的异常是TypeError类型错误,但是selenuim运行报错是ImportError错误,所把except中的TypeError异常类型更改为ImportError或者Exception异常类型,然后再运行用例,调用成功

    __del__方法(析构函数)和垃圾回收机制

    del__方法称为"析构方法",用于实现对象被销毁时所需的操作,比如:释放对象占用的资源,例如打卡的文件资源、网络连接等;
    Python实现自动的垃圾回收,当对象没有被引用时(引用计数为0),由垃圾回收器调用__del__方法;
    定义了__del
    ()的实例无法被Python的循环垃圾收集器收集,所以尽量不要定义__del__(),一般情况下,del()不会破坏垃圾处理器;

  • 相关阅读:
    各种 SDk
    面试第一周
    KVC/KVO 的概述和使用
    How Many Tables HDU
    The Suspects POJ
    Wireless Network POJ
    Layout POJ
    The Shortest Path in Nya Graph HDU
    Extended Traffic LightOJ
    Tram POJ
  • 原文地址:https://www.cnblogs.com/venvive/p/13342128.html
Copyright © 2020-2023  润新知