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

11

我们使用C#中的Selenium来控制Chrome浏览器。在Chrome v74和v74 chromedriver以及Chrome v75(beta版)和v75 chromedriver上都出现了以下问题:

与该网站进行约12次交互后,我们会遇到错误,例如:

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

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

我已经在其他地方寻求关于这个问题的帮助,但似乎没有什么进展,因为v75 beta版本也出现了相同的问题。

我们如何解决这个问题?它只在这组测试中出现,而其他测试则没有出现此问题。

稍后

现在我收到了这样的消息,如下所示

ERROR:browser_process_sub_thread.cc(217)] Waited 285 ms for network service

立即发生,而不是在某些交互之后!发生了什么?


请查看这个解决方案:https://stackoverflow.com/a/56424661/2445763 - lasec0203
1个回答

5

这个错误信息...

ERROR:browser_process_sub_thread.cc(217)] Waited 771 ms for network service

...来自实现为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";

根据Chromium Servicification - Need better handling for when a core service process fails to start/initialize中的讨论,在新的网络进程(NP) [--enable-features=NetworkService]中,如果一个子进程被创建但服务启动失败,在这种情况下:

  • 浏览器界面保持可见和开放。
  • 由于该服务是可重启的,似乎在后台发生了无限循环的尝试子进程重新生成,这消耗了更多的系统资源。
  • 由于关键故障,可见的浏览器没有适当地关闭,并且只是静止在那里,没有任何网络功能。

因此,需要针对所有Chrome所需运行的核心服务制定一项策略,可能需要为网络进程(NP)提供故障路径。


根据上述要求,根据在Windows上对网络服务进行沙盒化的讨论,Chrome引入了新的沙盒(SANDBOX_NETWORK_TYPE)用于新的网络进程(NP)。保留HTML标签,Windows是第一个推出这两个新功能的平台,您是最幸运的用户之一,可以第一时间体验以下内容:用户体验
  • Feature to enable for network service: NetworkService

    --enable-features=NetworkService
    
  • Feature to enable for the on the network service: NetworkServiceWindowsSandbox

    --enable-features=NetworkServiceWindowsSandbox
    

这个修订版本和这个提交记录sandbox_win.cc中,来自@WillHarris的陆续登陆将解决这个问题。


在我从73.0.3683.75升级到75.0.3770.80后,在CEF中遇到了相同的问题。此错误消息显示在CefShutdown()上。代码几乎相同(除了与CEF API更改相关的修改)。我需要做什么才能摆脱这个消息?我尝试了--enable-features=NetworkServiceWindowsSandbox,但消息仍然出现。 - Andrey Belykh
我找到了一个解决方法。使用--disable-features=NetworkService。 - Andrey Belykh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接