【问题标题】:Java - Selenium ChromeDriver - "Chrome Automation Extension has crashed"Java - Selenium ChromeDriver - “Chrome 自动化扩展已崩溃”
【发布时间】:2018-06-25 09:16:31
【问题描述】:
System.setProperty("webdriver.chrome.driver", "C://bin/chromedriver.exe");

ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
/*Testing ChromeOptions - chrome should open maximised*/
options.addArguments("start-maximized");

WebDriver driver = new ChromeDriver(options);
// driver.get(ENM_URL);

driver.get("http://google.com");

打开一个带有崩溃标签的新 chrome 窗口,无法加载包括 chrome 设置在内的页面。弹出一条 toast 消息,说“Chrome 自动化扩展程序已崩溃”

ChromeDriver (v2.4.226107)

谷歌浏览器是最新的 版本 67.0.3396.87(正式版)(64 位)

【问题讨论】:

标签: java selenium selenium-chromedriver


【解决方案1】:

很难调试/分析错误的根本原因,除非您共享错误堆栈跟踪但是当您提到System.setProperty() 行时,它应该采用正确的格式,即 chromedriver.exe 的绝对路径 必须使用默认的 路径分隔符 指定,即 \\,如下所示:

System.setProperty("webdriver.chrome.driver", "C:\\bin\\chromedriver.exe");

另外,正如您提到的使用 ChromeDriver (v2.4.226107),这个版本相当古老。 Google Chrome 版本 67.x 支持的 ChromeDriver 版本是:

  • ChromeDriver v2.40
  • ChromeDriver v2.39
  • ChromeDriver v2.38

要使用 Google Chrome 版本 67.x,您必须从 ChromeDriver - WebDriver for Chrome 下载上述任何一个 ChromeDrivers 并在您的脚本/程序中使用它们。

【讨论】:

    【解决方案2】:

    我似乎已经解决了这个问题。使用 Chrome 选项:

        options.addArguments("disable-extensions");
    

    这个参数似乎通过禁用它来防止 Chrome 自动化扩展程序崩溃,因此浏览器本身设法工作并且驱动程序设法加载 http://google.com

    【讨论】: