Testing 如何在没有EULA的情况下启动ChromeDriver.exe?

Testing 如何在没有EULA的情况下启动ChromeDriver.exe?,testing,google-chrome,selenium,Testing,Google Chrome,Selenium,我正在学习使用Selenium(v2.20)来超越我们的一些程序员,他们很快将用它创建一些浏览器测试。我想在他们到达那里之前发现陷阱,我偶然发现了一个 当我创建ChromeDriver时,它总是显示一个“Google Chrome EULA”,并显示两个按钮:“接受并运行”和“取消”。由于我希望这是一个自动测试,让用户点击按钮是不可能的 我查看了一份清单,但没有找到任何有效的,也没有任何提到EULA的。如果我(在断点处)单击“接受并运行”,然后让代码继续运行,测试工作正常 导致问题的代码如下所示

我正在学习使用Selenium(v2.20)来超越我们的一些程序员,他们很快将用它创建一些浏览器测试。我想在他们到达那里之前发现陷阱,我偶然发现了一个

当我创建ChromeDriver时,它总是显示一个“Google Chrome EULA”,并显示两个按钮:“接受并运行”和“取消”。由于我希望这是一个自动测试,让用户点击按钮是不可能的

我查看了一份清单,但没有找到任何有效的,也没有任何提到EULA的。如果我(在断点处)单击“接受并运行”,然后让代码继续运行,测试工作正常

导致问题的代码如下所示:

using (var driverService = ChromeDriverService.CreateDefaultService(@"C:\Apps\ChromeDriver\"))
{
    driverService.Start();

    // This line pops up the EULA
    IWebDriver driver = new ChromeDriver(@"C:\Apps\ChromeDriver\");

    // rest of test...
}
还有其他人遇到过这个问题吗?如果是,你是如何解决的

2012年4月4日更新
我只是在工作时在我的计算机上运行了相同的代码,我成功地没有触发EULA(与Slanec的经验一致)。这让我相信原因是环境。我正在研究两个系统(均为Win7 x64)之间的差异,以确定原因。我会在获得更多信息后更新

多谢各位


-Seth

如果您仍然存在此问题,则会发生错误,因为您每次运行测试时都会打开一个全新的chrome浏览器实例,从而触发EULA。如果您将默认的chrome配置文件复制到您选择的自定义位置,然后将“-user data dir=yourcustomlocation”标志添加到ChromeOptions,则可以绕过EULA并打开现有配置文件

ChromeOptions crOptions = new ChromeOptions();
crOptions.AddArgument(@"--user-data-dir=C:\custom location"); 
return new ChromDriver(crOptions);
步骤:

  • 将chromedriver.exe复制到Windows/System32中
  • 现在转到你的chrome文件夹,对我来说它是:C:\Users\%USERNAME%“\AppData\Local\Google\chrome\
  • 有一个master_首选项文件
  • 打开它并将其设为false EULA选项

  • 这对我来说很有效,希望对你们大家也同样有效。

    我刚刚尝试了一个新安装的Google Chrome 18和(Java)WebDriver,效果如期。如果手动打开Chrome,是否显示EULA?你有哪个版本的Chrome?你可以重新安装它和tyr吗?@Slanec-我有chromedriver.exe的v1.8和v1.9版本。它们都表现出与上述代码相同的行为。我实际的Chrome浏览器是v18,不需要EULA,但在我的测试中没有使用该可执行文件(Chrome.exe)。我对重新安装Chrome持开放态度,但想先用尽其他选择。感谢您的评论。以下答案对我很有用,以供将来参考: