【问题标题】:Selenium check IE11 memory usageSelenium 检查 IE11 内存使用情况
【发布时间】:2020-06-19 16:13:28
【问题描述】:

如何检查与 Selenium 中给定 InternetExplorerDriver 关联的 IE11 进程使用了​​多少内存?

如果内存使用量超过某个值(例如 1 GB),我想重新启动 IE11。

现在我正在考虑使用Get PID of Browser launched by selenium(如果适用于C#),然后是Getting a process's ram usage

这会是正确的方法吗?

编辑:原来Get PID of Browser launched by selenium 仅适用于 Firefox 或 Chrome。

【问题讨论】:

    标签: c# selenium internet-explorer-11


    【解决方案1】:

    我还没有找到任何解决方案,我认为我们无法通过使用 selenium 来实现这一点。 Selenium 不监控任何资源使用情况,它只是模拟用户操作的一种方式。我认为您应该尝试其他方法来检查浏览器内存使用情况或检查 selenium 中的其他行为。例如,您可以使用 Windows tasklist 命令来获取浏览器的内存使用情况。

    【讨论】:

      【解决方案2】:

      最后我采取了一种解决方法。如果有 any iexplore.exe 进程的工作集超过 800 MB,我会重新启动 IE11。

      foreach (Process proc in Process.GetProcessesByName("iexplore"))
      {
          // Check if IE is above 800 MB.
          if (proc.WorkingSet64 > 800*1024*1024)
          {
              driver.Close();
              driver.Quit();
              foreach (Process p in Process.GetProcessesByName("iexplore")) { try { p.Kill(); } catch { } }
              foreach (Process p in Process.GetProcessesByName("IEDriverServer")) { try { p.Kill(); } catch { } }
              driver = new InternetExplorerDriver(options);
              break;
          }
      }
      

      【讨论】:

      • 感谢您发布此问题的解决方案。您可以将您的答案标记为已接受的答案。它可以在未来帮助其他社区成员解决类似的问题。感谢您的理解。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 2010-09-09
      • 2015-10-06
      相关资源
      最近更新 更多