使用__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-packages\selenium\webdriver\common\service.py文件152行理捕捉的異常是TypeError類型錯誤,但是selenuim運行報錯是ImportError錯誤,所把except中的TypeError異常類型更改為ImportError或者Exception異常類型,然后再運行用例,調用成功

__del__方法(析構函數)和垃圾回收機制

del__方法稱為"析構方法",用於實現對象被銷毀時所需的操作,比如:釋放對象占用的資源,例如打卡的文件資源、網絡連接等;
Python實現自動的垃圾回收,當對象沒有被引用時(引用計數為0),由垃圾回收器調用__del__方法;
定義了__del
()的實例無法被Python的循環垃圾收集器收集,所以盡量不要定義__del__(),一般情況下,del()不會破壞垃圾處理器;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM