public static IWebDriver CreateChromeDriver(this WebDriverConfig config)
        {
            config.ValidateNotNull(nameof(config));
            config.ValidateDriverName("Chrome");

            var options = new ChromeOptions();

            options.PlatformName   = config.PlatformName;
            options.BrowserVersion = config.BrowserVersion;
            options.AddAdditionalCapabilies(config);
            if (config.Arguments.IsNotNullOrEmpty())
            {
                options.AddArguments(config.Arguments);
            }
            var commandTimeout = GetCommandTimeout(config);

            return((config.IsLocal()
                ? new ChromeDriver(GetDriverPath(config), options, commandTimeout)
                : new RemoteWebDriver(GetRemoteHubUri(config), options.ToCapabilities(), commandTimeout))
                   .ApplyCommon(config));
        }