【问题标题】:Closing a specific chromedriver proccess关闭特定的 chromedriver 进程
【发布时间】:2021-05-10 19:23:11
【问题描述】:

我有几个驱动程序在运行,连接到 Windows SO 中的 .NET 核心应用程序。
不幸的是,应用程序可能会因错误而崩溃。
看到这种情况需要手动关闭应用和浏览器,但是chromedriver进程继续运行。
如何确定哪个 chromedriver 与我关闭的应用程序匹配?

Selenium : How to stop geckodriver process impacting PC memory, without calling driver.quit()? 上的问题不能解决这个需求。

【问题讨论】:

    标签: c# .net selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    每次您开始执行测试时,都会创建一组新的 ChromeDriver。因此,您既不会使用以前的 zombie ChromeDriver 实例,也无法访问它们。


    结论

    唯一的最佳方法是将它们全部杀死并释放系统内存,您可以使用以下解决方案:

    • Python 解决方案(跨平台):

      import os
      import psutil
      
      PROCNAME = "chromedriver"
      for proc in psutil.process_iter():
          # check whether the process name matches
          if proc.name() == PROCNAME:
              proc.kill()
      

    参考文献

    您可以在以下位置找到一些相关的详细讨论:

    【讨论】:

    • 这种情况下的问题是还有其他测试在运行。如果我关闭所有进程,我将需要重新启动所有其他测试。
    • @MikailhP 在同一系统中执行测试时,您很可能不会触发清理。
    猜你喜欢
    • 2023-01-19
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多