尝试启动Firefox时出现“ org.openqa.selenium.WebDriverException:java.net.SocketException:软件导致连接中止:recv失败”

时间:2018-08-09 11:32:00

标签: selenium firefox selenium-webdriver webdriver geckodriver

我正在使用Selenium 3.12,gecko驱动程序21版,并且我的系统上安装了Firefox-61。

我正在尝试使用以下代码启动Firefox:

System.setProperty("java.net.preferIPv4Stack" , "true");
System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir") + "\\geckodriver.exe");
FirefoxOptions options = new FirefoxOptions();
options.setCapability("marionette", true);
options.setLogLevel(FirefoxDriverLogLevel.TRACE);
options.setBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile fxProfile = profile.getProfile("xyzProfile");
fxProfile.setPreference(FirefoxProfile.PORT_PREFERENCE,7056);
driver = new FirefoxDriver(options);

但是我遇到以下错误,甚至无法启动浏览器-

  

org.openqa.selenium.WebDriverException:java.net.SocketException:   软件导致连接中止:recv失败构建信息:版本:   '3.12.0',修订版:'7c6e0b3',时间:'2018-05-08T14:04:26.12Z'系统   信息:主机:'INDA201695',ip:'10 .164.59.166',操作系统名称:'Windows 7',   os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_131'驱动程序   信息:driver.version:FirefoxDriver

请提供有关导致此错误的原因以及如何解决该错误的帮助?

1 个答案:

答案 0 :(得分:0)

此错误消息...

org.openqa.selenium.WebDriverException: java.net.SocketException: Software caused connection abort: recv failed 
 Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z' 
 System info: host: 'INDA201695', ip: '10.164.59.166', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_131' 
 Driver info: driver.version: FirefoxDriver

...表示 GeckoDriver 无法启动/产生新的 WebBrowsing 会话,即 Firefox浏览器会话。

您的主要问题是所使用的二进制版本之间的不兼容,如下所示:

  • 您的 JDK版本 1.8.0_131 ,这是古老的

因此 JDK v8u131 与其他二进制文件之间显然不匹配。

解决方案

  • JDK 升级到最新级别JDK 8u181
  • 升级到当前水平Version 3.14.0
  • GeckoDriver 升级到GeckoDriver v0.20.1级。
  • 确保GeckoDriver位于指定位置。
  • 确保GeckoDriver对非root用户具有可执行权限。
  • Firefox 版本升级到 Firefox v61.0.2 级别。
  • 通过您的 IDE
  • 清理您的项目工作区重建您的项目,并且仅具有必需的依赖项。
  • 如果您的基本 Web客户端版本过旧,请通过Revo Uninstaller进行卸载,并安装最新版本的 Web客户端。 li>
  • 以非root用户身份执行Test