错误:browser_process_sub_thread.cc(221)]在Windows上使用Selenium ChromeDriver和Chrome进行网络服务等待了57毫秒

bug*_*net 11 windows selenium google-chrome sandbox chromium

因此,我们在C#中使用Selenium来控制Chrome。使用v74 chromedriver的Chrome v74和使用v75 chromedriver的Chrome v75(测试版)都发生了以下问题。

与网站进行约12次互动后,例如出现错误

[10084:5660:0601/111205.119:ERROR:browser_process_sub_thread.cc(221)] Waited 57 ms for network service
Run Code Online (Sandbox Code Playgroud)

我们无法编辑browser_process_sub_thread.cc和重新编译。

我已经在此问题上寻求帮助,并且正在其他地方进行讨论。但是,由于v75 beta出现相同问题,因此似乎没有发生太多事情。

我们如何解决这个问题?它仅出现在这组测试中,而不出现在其他测试中。

后来

现在我收到这样的消息,即

ERROR:browser_process_sub_thread.cc(217)] Waited 285 ms for network service
Run Code Online (Sandbox Code Playgroud)

立即而不是经过一些互动!发生了什么?

Deb*_*anB 5

此错误消息...

ERROR:browser_process_sub_thread.cc(217)] Waited 771 ms for network service
Run Code Online (Sandbox Code Playgroud)

...来自browser_process_sub_thread.cc文件中的IOThreadCleanUp()方法,该方法实现为:

// Record time spent for the method call.
base::TimeDelta network_wait_time = base::TimeTicks::Now() - start_time;
UMA_HISTOGRAM_TIMES("NetworkService.ShutdownTime", network_wait_time);
LOG(ERROR) << "Waited " << network_wait_time.InMilliseconds()
           << " ms for network service";
Run Code Online (Sandbox Code Playgroud)

根据Chromium Servicification中的讨论-如果衍生了子进程但服务启动失败,则在以下情况下,如果核心服务进程未能按照新的 网络进程(NP) [/ --enable-features=NetworkService] 启动/初始化,则需要更好地处理

  • 浏览器用户界面保持可见并打开。
  • 由于该服务是可重新启动的,因此似乎在引擎盖下发生了尝试子重生的无限循环,这消耗了更多的系统资源。
  • 可见的浏览器由于严重故障而无法适当关闭,只是坐在那里,没有网络连接。

因此,对于Chrome 所需的所有核心服务都必须有一项策略才能运行,这可能是网络进程(NP)的失败路径。


按照上述要求,按照讨论沙箱的操作,Windows Chrome 上的网络服务为新的网络进程(NP)引入了新的沙箱(SANDBOX_NETWORK_TYPE

Windows是第一个同时推出这两项新功能的平台,并且您是拥有以下第一手用户体验的最幸运的用户之一:

这个版本,这sandbox_win.cc从@WillHarris当土地将达到解决这一问题。