windows - 错误:browser_process_sub_thread.cc(221)] 在 Windows 上使用 Selenium ChromeDriver 和 Chrome 等待网络服务 57 毫秒
问题描述
所以我们在 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
我们无法编辑browser_process_sub_thread.cc
和重新编译。
我已在此问题上寻求帮助,并且正在其他地方进行讨论。但是,由于 v75 测试版出现了同样的问题,因此似乎没有发生任何事情。
我们如何解决这个问题?它只出现在这组测试中,而不出现在其他测试中。
之后
现在我收到这样的信息,即
ERROR:browser_process_sub_thread.cc(217)] Waited 285 ms for network service
立即而不是在一些交互之后!发生了什么?
解决方案
此错误消息...
ERROR:browser_process_sub_thread.cc(217)] Waited 771 ms for network service
...来自browser_process_sub_thread.ccIOThreadCleanUp()
文件中的方法,该方法实现为:
// 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 中的讨论-如果生成了子进程但服务启动失败,则需要更好地处理核心服务进程在新的 网络进程 (NP) [ ] 之后无法启动/初始化的情况,在这些情况下:--enable-features=NetworkService
- google-chrome浏览器 UI 保持可见并打开。
- 由于该服务是可重新启动的,因此似乎在后台发生了一个无限循环的尝试子重生,这会消耗更多的系统资源。
- 可见的浏览器由于严重故障而无法正常关闭,只是坐在那里,引擎盖下没有网络。
因此,Chrome 需要运行的所有核心服务都需要一个策略,这可能是网络进程 (NP)的故障路径。
根据上述要求,根据讨论Sandbox,Windows Chrome上的网络服务为新的Network Process (NP)引入了新的沙箱 (SANDBOX_NETWORK_TYPE ) 。
Windows是第一个推出这两项新功能的平台,您是最幸运的用户之一,能够获得以下第一手用户体验:
为网络服务启用的功能:NetworkService
--enable-features=NetworkService
为网络服务上的windows 沙箱启用的功能: NetworkServiceWindowsSandbox
--enable-features=NetworkServiceWindowsSandbox
此修订版和来自@WillHarris的此提交将解决此问题。sandbox_win.cc
推荐阅读
- reactjs - 是否可以通过将许多较小的图像粘贴在一起来创建更大的图像对象?
- sql - 如何创建只有每个月末的日历表 SQL Server 2017
- r - ggplot2中几何对象(geoms)的参数(美学)
- c - opendir 在 C 语言中没有得到缓冲区 char * 的内容?
- php - 需要帮助使用带有数字范围的 SQL 查询值更改 PHP 代码中的表格颜色
- python - 为什么我的 Openstack 身份验证模块不再工作?
- ansible - 无法让 Ansible 剧本在初始运行时运行
- python - 计算机关闭时如何安排任务?
- erp - 在 Infor syteline erp 中生成报告后,我们可以向特定用户发送一次电子邮件吗?
- azure - 使用 Microsoft Azure 将日志分析查询保存到存储帐户