我正在使用Chrome的C#绑定,导航到页面会随机失败。这个测试并不一致,但是在运行整个套件时,在多个测试中都会发生这种情况,并且在相同的页面更改上是一致的。下面我粘贴了用于创建驱动程序实例的代码,但url it's self并不是一个可公开访问的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);版本
编辑#1: ChromeDriver是32位,Chrome是64位。我做了一些研究,似乎没有64位的ChromeDriver,我的研究说这两种方法都能工作--是一个新的bug还是什么的?
发布于 2017-05-10 14:27:26
禁用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);https://stackoverflow.com/questions/43871704
复制相似问题