Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ChromeWebDriver崩溃_C#_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

C# ChromeWebDriver崩溃

C# ChromeWebDriver崩溃,c#,selenium,selenium-webdriver,webdriver,C#,Selenium,Selenium Webdriver,Webdriver,我使用的是Chrome Selenium WebDriver的C#绑定,导航到某个页面将随机失败。它是哪一个测试并不一致,但在运行整个套件时,在几个测试中确实是一致的,并且在同一页面更改上也是一致的。下面我粘贴了我用来创建驱动程序实例的代码,虽然它本身的url不是一个可公开访问的url 另一个考虑是,我使用NUnit并行运行两个测试 var options = new ChromeOptions(); options.AddArgument("start-maximized"); options

我使用的是Chrome Selenium WebDriver的C#绑定,导航到某个页面将随机失败。它是哪一个测试并不一致,但在运行整个套件时,在几个测试中确实是一致的,并且在同一页面更改上也是一致的。下面我粘贴了我用来创建驱动程序实例的代码,虽然它本身的url不是一个可公开访问的url

另一个考虑是,我使用NUnit并行运行两个测试

var options = new ChromeOptions();
options.AddArgument("start-maximized");
options.AddArgument("disable-infobars");
options.AddArgument("--incognito");
options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);
options.SetLoggingPreference(LogType.Browser, LogLevel.All);
options.SetLoggingPreference(LogType.Driver, LogLevel.All);
options.SetLoggingPreference(LogType.Client, LogLevel.All);
options.SetLoggingPreference(LogType.Server, LogLevel.All);
options.SetLoggingPreference(LogType.Profiler, LogLevel.All);

var driver = new ChromeDriver(DriverPathOnSystem, options);
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(60);
driver.Navigate().GoToUrl(url);
版本

  • 铬驱动2.29
  • Chrome 58.0.3029.96(64位)
  • Selenium.WebDriver(nuget)3.4.0
  • Selenium.Support(nuget)3.4.0
编辑#1:
ChromeDriver是32位的,Chrome是64位的。我做了一些研究,没有一个64位的ChromeDriver,我的研究表明这两个都可以工作——可能是新的bug还是什么?

禁用DNS预取为我修复了所有的崩溃。我不是百分之百的知道它试图做什么导致页面崩溃,也许它与npm有关?不管怎样,这都是一个非常简单的解决方案:

var options = new ChromeOptions();
options.AddArgument("start-maximized");
options.AddArgument("disable-infobars");
options.AddArgument("--incognito");
options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);
options.AddArgument("--dns-prefetch-disable");

var driver = new ChromeDriver(DriverPathOnSystem, options);
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(60);
driver.Navigate().GoToUrl(url);