21

我正在尝试使用 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();
4

10 回答 10

8

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

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

于 2014-08-29T08:11:18.110 回答
6

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

  • 高山(Linux 3.13.0-24-generic x86_64)
  • 铬 53.0.2785.92
  • 铬驱动程序=2.22
  • 硒(3.0.1)

而我遇到的错误信息是:</p>

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/

于 2016-10-17T06:36:58.710 回答
2
  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的资源

希望这对您有所帮助。

于 2014-08-14T16:26:49.047 回答
2

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

于 2014-12-03T21:55:24.640 回答
2

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

于 2017-03-09T02:28:22.690 回答
1

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

于 2018-04-10T20:16:32.133 回答
0

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

于 2016-10-10T08:17:21.360 回答
0

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

于 2020-04-11T07:18:36.747 回答
0

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

于 2021-09-07T09:24:26.997 回答
-1

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

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

于 2014-08-28T15:38:59.620 回答