首页 > 解决方案 > Selenium.WebDriver.ChromeDriver 启动缓慢 - 为什么?

问题描述

我创建了最简单的 NUnit 测试来初始化 a ChromeDriver,它需要将近 6 秒才能运行。大多数时间(大约 4 秒)都花在一个空白的、非活动的 Chrome 窗口上。

空白 Chrome 窗口看起来像这样

ChromeDriver.exe 窗口几乎立即出现。

ChromeDriver.exe 窗口

我的单元测试如下所示:

[Test]
public void Simplest_Possible_Test()
{
    var options = new ChromeOptions { Proxy = null };
    using (new ChromeDriver(options))
    {
        // Do nothing
    }
}

我正在使用这些 nuget 包:

  <package id="NUnit" version="3.12.0" targetFramework="net47" />
  <package id="Selenium.Support" version="3.141.0" targetFramework="net47" />
  <package id="Selenium.WebDriver" version="3.141.0" targetFramework="net47" />
  <package id="Selenium.WebDriver.ChromeDriver" version="78.0.3904.7000" targetFramework="net47" />

我的问题是:

这种缓慢是预期的吗?我可以做些什么来加快速度吗?

标签: c#seleniumselenium-chromedriver

解决方案


几个月前,我(和其他人)构建了一个网络机器人(不要问什么是 :-))。目标表面是一个特定的网站。为了准备,我们在离线局域网环境中尽可能多地复制了目标网站。在其他工具中,我们使用 Selenium 运行 Chrome,启动时间约为 4-6 秒,演出是 Intel Core i5 ~3 GHz 8GB RAM Windows 10 Pro,还有另一台类似的电脑,笔记本电脑,主要区别在于运行 Ubuntu 18.04,启动时间差不多。

C# 不是这里的问题。在注意到延迟(至少对我来说不是什么大问题)之后,考虑到离线设置(没有请求在互联网上飞来飞去),以及不同的计算机构建,我敢说这是启动时间,仅此而已,没有猴子生意。

通过使用具有更快内存、更快 CPU、更快总线、SSD 驱动器等的高端 gig 可以实现更快的启动时间......


推荐阅读