ChromeWebDriver - 未知错误:Chrome 无法启动:崩溃

ChromeWebDriver - unknown error: Chrome failed to start: crashed

提问人:Paweł Adamski 提问时间:8/14/2014 最后编辑:Paweł Adamski 更新时间:9/7/2021 访问量:89318

问:

我正在尝试使用 ChromeWebDriver 在 Chrome 上测试我的应用程序,但每次尝试时都会遇到以下异常:

   org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed
  (Driver info: chromedriver=2.10.267521,platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 61.46 seconds
Build info: version: '2.41.0', revision: '3192d8a6c4449dc285928ba024779344f5423c58', time: '2014-03-27 11:29:39'
System info: host: 'PADAMSKI-W', ip: '10.10.8.60', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_37'
Driver info: pl.axit.test.selenium.env.KoralinaChromeDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:595)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240)
    at org.openqa.selenium.chrome.ChromeDriver.startSession(ChromeDriver.java:181)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:139)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:160)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:149)

在chromedriver.log中,我看到

[0.681][INFO]: Launching chrome: "C:\Users\padamski.AXIT.PL\AppData\Local\Google\Chrome\Application\chrome.exe" --disable-background-networking --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --disable-hang-monitor --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-logging --ignore-certificate-errors --load-extension="C:\Users\PADAMS~1.PL\AppData\Local\Temp\scoped_dir4048_12236\internal" --logging-level=1 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12573 --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --use-mock-keychain --user-data-dir="C:\Users\PADAMS~1.PL\AppData\Local\Temp\scoped_dir4048_22909" --window-size=6000,6000 data:,
[60.836][INFO]: RESPONSE InitSession unknown error: Chrome failed to start: crashed

我正在使用:

  • 铬 36
  • ChromeWeb驱动程序 2.10
  • 视窗 7

在进程资源管理器中,我可以看到chromedriver.exe进程正在运行,但没有打开任何窗口,几秒钟后我得到上述异常。

我的起始代码是:

 File f = ResourceProvider.getResource("tools/win/chromedriver.exe");
 System.setProperty("webdriver.chrome.driver", f.getAbsolutePath());
 return new ChromeDriver();
谷歌浏览器 Selenium chrome-web-driver

评论

0赞 eugene.polschikov 8/14/2014
请提供负责启动 Chrome 实例的代码。
0赞 Paweł Adamski 8/14/2014
我想知道 WebDriver 在我的 AppData 目录中查找 Chrome 是否很好。当我尝试自己执行它时,它也崩溃了。但是当我从“Program Files x86”目录运行Chrome时,它会正常启动。

答:

3赞 eugene.polschikov 8/15/2014 #1
  DesiredCapabilities capability = DesiredCapabilities.chrome();

        System.setProperty("webdriver.chrome.driver", "path to chromedriver.exe");
        capability.setBrowserName("chrome");
        capability.setPlatform(PlatformAndEnvironmentSetUp.platformSetUp);

        driver = new RemoteWebDriver(new URL("http://" + PlatformAndEnvironmentSetUp.hubIP + ":" + PlatformAndEnvironmentSetUp.hubPort + "/wd/hub"), capability);


        this.driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        this.driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
        this.driver.manage().window().setSize(new Dimension(1920, 1080));
//page instances init()

        loginPage = PageFactory.initElements(this.driver, LoginPage.class);
        homePage = PageFactory.initElements(this.driver, AdminHomePage.class);

这个示例代码对我来说很好用。 只是一个小提示:“chromedriver.exe”我放在同一个项目文件夹中。这使得 chromdriver 可执行文件的路径问题更容易。

所以这行代码看起来是这样的:

System.setProperty("webdriver.chrome.driver", "chromedriver.exe");

下载 chromedriver的资源 .exe

希望这对你有所帮助。

评论

0赞 Paweł Adamski 8/18/2014
感谢您的回答,但不幸的是它没有帮助 - Chrome 仍未启动。
0赞 Paweł Adamski 8/18/2014
最终,我发现这是我的Chrome。我已经安装了它,从 c:\Users______L\AppData\Local\Google\Chrome\ 中删除了所有内容,然后再次安装了 Chrome。在那之后,它开始工作。
-1赞 harrison 8/28/2014 #2

我很确定您的错误,您的 chrome 绑定可能不正确 - 请尝试删除您对 chrome 的所有引用并将其从您的项目中删除。然后,如果您还没有,请安装 Nuget 数据包管理器并从那里下载 chrome webdriver - 请注意,有 2 个,一个是 chromium,一个是 selenium。

希望这会有所帮助 - 让我知道,如果没有生病,请仔细看看。

评论

0赞 Paweł Adamski 8/29/2014
最终我发现这是我的Chrome。我已经卸载了它,从 c:\Users______\AppData\Local\Google\Chrome\ 中删除了所有内容,然后再次安装了 Chrome。在那之后,它开始工作。无论如何,感谢您的建议。
0赞 harrison 8/29/2014
对不起,没有意识到这是多久以前的事了,基本上这归结为您的驱动程序引用了错误的版本,搞砸了绑定 - 我之前也遇到过这个错误,目前唯一的解决方法是清除整个 PC 的所有引用,完全卸载它然后重新安装它,基本上更新或只是删除并重新安装它不起作用,我认为这是 VS 和驱动程序绑定的一个小问题但是,是的,很高兴你修复了它 - 我只是回答了,因为我知道这个问题及其解决方案,我自己也遇到了它,哈哈:)认为我的答案值得一票,哈哈
11赞 Paweł Adamski 8/29/2014 #3

最终,我发现WebDriver正在尝试运行Chrome,即使手动尝试也无法正常工作。这很奇怪,因为当我启动 Chrome 时,我使用安装在目录中的一个,它可以毫无问题地工作。C:\Users\______\AppData\Local\Google\Chrome\Application\chrome.exeProgram Files

所以我卸载了Chrome,删除了所有内容,然后再次安装了Chrome。在那之后,它开始工作。c:\Users______\AppData\Local\Google\Chrome\

评论

3赞 zoness32 8/24/2016
在按照 Selenium GitHub 页面上的设置说明进行操作后,我也遇到了这个问题,该页面提到 Chrome 可执行文件应该位于您提到的路径上。我需要做的就是删除 Application 文件夹和其中的所有内容。无需重新安装 Chrome。
0赞 Smart Coder 4/29/2021
使用 chrome 代理版本作为 setBinary() 和 “options.addArguments(”--remote-debugging-port=9222“);”
3赞 yesh 12/4/2014 #4

卸载,从 c:\Users______L\AppData\Local\Google\Chrome\ 中删除 chrome 配置文件并重新安装 chrome 将解决问题,它对我有用

0赞 Kral 10/10/2016 #5

我遇到了与上面相同的问题。事实证明,我以某种方式设法安装了两个chrome.exe。一个在“Program Files”下,一个在 user\appdata\local 下.....我卸载了 Program Files 下的那个,现在它就像一个魅力。

7赞 Leafney 10/17/2016 #6

我遇到了与上面相同的问题。我解决了它。 我在阿尔卑斯山用铬运行硒。 我的环境:

  • Alpine (Linux 3.13.0-24-generic x86_64)
  • 铬 53.0.2785.92
  • Chromederizer=2.22
  • 硒 (3.0.1)

我遇到的错误信息是:

File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error:    Chrome failed to start: crashed
(Driver info: chromedriver=2.22 (5e2d5494d735a71aa5c2e7ef9bf5ce96945e92e9),platform=Linux 3.13.0-24-generic x86_64)

我的解决方案是运行的:

apk add libexif udev

然后它起作用了。

我在这里指的是:https://hub.docker.com/r/rodrigomiguele/chromium/~/dockerfile/

评论

0赞 Smart Coder 4/29/2021
如果您的单位有管理员限制,那么您可能需要检查并使用 chrome 代理版本(如果已提供);并使用“options.addArguments(”--remote-debugging-port=9222“);”
3赞 gcfchn 3/9/2017 #7

我在 Windows 10 上通过将 chromedriver.exe、[yourPythonIDE].exe 和 chrome.exe 设置为使用管理员权限运行来修复此问题,这可以通过右键单击 exe 文件并转到“属性”>>“兼容性”来访问。

1赞 Cason 4/11/2018 #8

我能够通过使用管理员 CMD 运行我的脚本在 Windows 10 上解决此问题。

0赞 user13284986 4/11/2020 #9

如果您无法在 selenium 中启动浏览器。请确保您是否将 Chrome 浏览器设置为失效?bcz 你也可能会遇到这个“无法启动你的浏览器”错误

0赞 czhongheng 9/7/2021 #10

我的浏览器可以打开,但它会报告错误。将 Google Chrome 设置为默认浏览器后,将不再报告错误。