【问题标题】:ChromeWebDriver - unknown error: Chrome failed to start: crashedChromeWebDriver - 未知错误:Chrome 无法启动:崩溃
【发布时间】:2014-10-08 07:32:12
【问题描述】:

我正在尝试使用 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
  • ChromeWebDriver 2.10
  • Windows 7

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

我的起始代码是:

 File f = ResourceProvider.getResource("tools/win/chromedriver.exe");
 System.setProperty("webdriver.chrome.driver", f.getAbsolutePath());
 return new ChromeDriver();

【问题讨论】:

  • 请提供负责 Chrome 实例启动的代码。
  • 我想知道 WebDriver 在我的 AppData 目录中查找 Chrome 是否很好。当我试图自己执行它时,它也崩溃了。但是当我从“Program Files x86”目录运行 Chrome 时,它​​会正常启动。

标签: google-chrome selenium chrome-web-driver


【解决方案1】:

我的浏览器可以打开,但是会报错。将谷歌浏览器设置为默认浏览器后,不再报错。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          我遇到了和上面一样的问题。我解决了。 我在高山运行硒和铬。 我的环境:

          • Alpine(Linux 3.13.0-24-generic x86_64)
          • 铬 53.0.2785.92
          • chromedriver=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/

          【讨论】:

          • 如果您的组织有管理员限制,那么您可能需要检查并使用 chrome 代理版本(如果提供);并使用 "options.addArguments("--remote-debugging-port=9222");"
          【解决方案6】:

          我遇到了和上面一样的问题。原来我以某种方式设法安装了两个 chrome.exe。一个在 Program Files 下,一个在 user\appdata\local 下.....我卸载了 Program Files 下的那个,现在它就像一个魅力。

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

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

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

              【讨论】:

              • 在按照 Selenium GitHub 页面上的设置说明进行操作后,我也遇到了这个问题,其中提到 Chrome 可执行文件应该位于您提到的路径中。我需要做的就是删除应用程序文件夹及其中的所有内容。无需重新安装 Chrome。
              • 使用 chrome 代理版本作为 setBinary() 和 "options.addArguments("--remote-debugging-port=9222");"
              【解决方案9】:

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

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

              【讨论】:

              • 最终我发现这是我的 Chrome 的问题。我已经卸载了它,从 c:\Users______\AppData\Local\Google\Chrome\ 中删除了所有内容,然后再次安装了 Chrome。之后它开始工作。不管怎样,谢谢你的建议。
              • 对不起,没有意识到这是多久以前的事了,基本上是因为你的驱动程序引用了错误的版本,搞乱了绑定——我之前也遇到过这个错误,目前唯一的解决方法是你清除整个 pc 的所有引用,完全卸载然后重新安装,基本上更新或只是删除并重新安装它不会起作用我认为 VS 和驱动程序绑定的一个小问题,但很高兴你修复了它 - 我只回答了原因我知道这个问题及其解决方案,我自己也遇到过哈哈 :) 认为我的回答值得一票,尽管哈哈
              【解决方案10】:
                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");
              

              资源到download chromedriver.exe

              希望对你有所帮助。

              【讨论】:

              • 感谢您的回答,但不幸的是它没有帮助 - Chrome 仍未启动。
              • 最终我发现这是我的 Chrome 的问题。我已经安装了它,从 c:\Users______L\AppData\Local\Google\Chrome\ 中删除了所有内容,然后再次安装了 Chrome。之后它开始工作。
              猜你喜欢
              • 2023-01-19
              • 2018-02-07
              • 2022-12-17
              • 1970-01-01
              • 2016-10-19
              • 1970-01-01
              • 1970-01-01
              • 2019-11-21
              • 1970-01-01
              相关资源
              最近更新 更多