Google Chrome的许多过程(32位)

时间:2019-08-07 18:47:40

标签: selenium google-chrome selenium-webdriver webdriver selenium-chromedriver

在Chrome中运行2个测试时,我发现任务管理器中运行的Google Chrome(32位)进程过多,这是Chome驱动程序的正确行为吗?

1 个答案:

答案 0 :(得分:2)

通过 Google Chrome 执行多个自动测试时,您必须观察到可能正在运行数十个 Google Chrome 进程,这些进程可以可以通过Windows任务管理器的Processes标签进行观察。

快照:

GoogleChrome_processes

根据文章SOLVED: Why Google Chrome Has So Many Processes,以获得更好的用户体验 Google Chrome 为每个标签页启动了许多后台进程由您的自动测试打开。 Google试图通过将每个网页分成它认为合适的多个进程来保持浏览器的稳定,以确保如果某个进程在页面上失败,则可以终止或刷新该特定进程而无需终止或刷新整个进程页面。


但是,从2018年开始, Google Chrome 实际上经过了重新设计,以为以下每个实体创建新流程:

  • Tab
  • 页面上的HTML / ASP文本
  • 将这些插件插入
  • 已加载的应用
  • 页面内的框架

铬博客 Multi-process Architecture中提到:

  

Google Chrome浏览器利用这些属性,将Web应用程序和插件与浏览器本身置于不同的进程中。这意味着一个Web应用程序中的渲染引擎崩溃不会影响浏览器或其他Web应用程序。这意味着操作系统可以并行运行Web应用程序以提高其响应速度,并且这意味着如果特定的Web应用程序或插件停止响应,浏览器本身将不会锁定。这也意味着我们可以在限制性沙箱中运行渲染引擎进程,以帮助限制发生漏洞利用时的损害。

结论是,您看到的许多过程与的当前实现非常一致


Outro

您可以在How to quit all the Firefox processes which gets initiated through GeckoDriver and Selenium using Python

中找到相关的讨论