0

我有以下代码:ChromeDriver需要安装Chrome吗?

ChromeOptions chromeOptions = new ChromeOptions(); 
chromeOptions.addArguments("--headless"); 
webDriver = new ChromeDriver(chromeOptions); 

它抛出该异常:

Gtk-Message: Failed to load module "topmenu-gtk-module" 
Created new window in existing browser session. 
Exception in thread "main" org.openqa.selenium.WebDriverException: 
Timed out waiting for driver server to start. 

Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
System info: host: 'luis', ip: '127.0.1.1', os.name: 'Linux',  os.arch: 'amd64', os.version: '4.4.0-87-generic', java.version:  '1.8.0_112' 
Driver info: driver.version: ChromeDriver 
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:193) 
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:181) 
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78) 

我是新来这个,我失去的东西吗?应该运行在我的主机上的其他服务器?

+0

什么是你的Chrome版本和操作系统?你可以打的Chrome://版本“ –

+0

是的,它表明: 谷歌浏览器\t 55.0.2883.75(正式版本)(64位) 修订\t 451c239c3b0722dc867b0f75839b959f729b756a-裁判/分支头/ 2883 @ {#698} OS \t Linux的 的JavaScript V8 \t 5.5.372.29 闪存\t 26.0.0.137 用户代理\t的Mozilla/5.0(X11;的Linux x86_64的)为AppleWebKit/537.36(KHTML,例如Gecko)Chrome浏览器/ Safari浏览器55.0.2883.75/537.36 命令行\t/usr/bin/google-chrome-stable --flag-switches-begin --enable-devtools-experiments --flag-switch-end 可执行文件路径\t/opt/google/chrome/google-chrome – italktothewind

+0

你可以将它更新到chrome 59并检查相同的代码\? –

回答

1

的一切,如果你想使用Chrome,那么你需要下载它首先是从以下网址二进制: -

https://sites.google.com/a/chromium.org/chromedriver/

现在驱动程序实例

System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe"); 
WebDriver driver = new ChromeDriver(); 

Nowif你想之前添加System.setProperty使用无头然后使用phantomjs。这是一个稳定的版本,您可以用于您的headleass工作。从下面的链接donwload它: -

http://phantomjs.org/download.html

驱动程序实例

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setJavascriptEnabled(true); // not really needed: JS enabled by default 
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "C:/phantomjs.exe"); 
WebDriver driver = new PhantomJSDriver(caps); 

之前现在添加System.setProperty参考下面的链接了解更多信息: -

http://seleniumworks.blogspot.in/2013/03/headless-browser-testing-using.html

希望它会帮助你:)

+0

嗨,我正在从PhantomJS迁移到无头Chrome,因为PhantomJS维护得不好,而且来自Facebook的JavaScript不再运行(抛出大量错误和页面渲染效果不佳)。我已经设置了系统属性“webdriver.chrome.driver”,但它不会启动。 – italktothewind

+0

我已经解决了。问题在于我指向Chrome安装,而不是Chrome驱动程序路径。谢谢!标记为已接受。 – italktothewind

相关问题