我正在尝试使用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
我正在使用:
在Process Explorer中,我可以看到chromedriver.exe进程正在运行但没有打开窗口,几秒钟后我就超出了异常。
我的开始代码是:
File f = ResourceProvider.getResource("tools/win/chromedriver.exe");
System.setProperty("webdriver.chrome.driver", f.getAbsolutePath());
return new ChromeDriver();
答案 0 :(得分:6)
最终我发现WebDriver试图从C:\Users\______\AppData\Local\Google\Chrome\Application\chrome.exe
运行Chrome,即使手动尝试也无法运行。这很奇怪,因为当我启动Chrome时,我使用安装在Program Files
目录中的一个,它可以正常工作。
因此我卸载了Chrome,删除了c:\Users______\AppData\Local\Google\Chrome\
中的所有内容并再次安装了Chrome。之后它开始工作了。
答案 1 :(得分:4)
我遇到了和上面相同的问题。我解决了 我在高山中运行含铬的硒。 我的环境:
我遇到的错误信息是:
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/
答案 2 :(得分: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);
此示例代码适用于我。 只需一点注意:&#34; chromedriver.exe&#34;我放在同一个项目文件夹中。这使得chromdriver的可执行路径问题更容易。
所以这行代码看起来像这样:
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
希望这会对你有所帮助。
答案 3 :(得分:2)
卸载,删除c:\ Users ______ L \ AppData \ Local \ Google \ Chrome \中的chrome配置文件并重新安装chrome将解决问题,它对我有用
答案 4 :(得分:1)
我通过将chromedriver.exe,[yourPythonIDE] .exe和chrome.exe设置为以管理员权限运行来修复此问题,管理员权限可以通过右键单击exe文件并转到属性&gt;&gt;来实现。兼容性。
答案 5 :(得分:0)
我遇到了和上面相同的问题。原来我设法安装了两个chrome.exe。一个在Program Files下面,在user \ appdata \ local下面。我卸载了Program Files下的一个,现在它就像一个魅力。
答案 6 :(得分:0)
通过使用Administrator CMD运行我的脚本,我能够在Windows 10上解决此问题。
答案 7 :(得分:0)
如果无法使用硒启动浏览器。请确保您是否将chrome浏览器设置为默认值?另外,您可能会遇到“无法启动浏览器”错误
答案 8 :(得分:0)
我也面临同样的问题。我什么也没做 。我已经等待了15分钟,然后再次运行脚本。它成功了。
答案 9 :(得分:-1)
我非常确定您的错误,即您对chrome的绑定可能不正确 - 请尝试删除所有对chrome的引用并将其从项目中删除。然后,如果你还没有,安装Nuget Packet Manager并从那里下载chrome webdriver - 请注意有2个来自铬,1个来自selenium。
希望这会有所帮助 - 让我知道,如果不是生病,请仔细看看它。