selenium与firefox版本不兼容

报错信息:

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms

一、 geckodriver.exe下载地址:

https://github.com/mozilla/geckodriver/releases

下载geckodriver.exe并放在C盘driver目录下。

下图说明geckodriver 15.0的版本要求selenium 版为3.3以上。

二、对应firefox版本要求为48.0及以上

从selenium 3.0.0开始就要求firefox为48及以上版本,可以通过selenium changelog查看。

changelog查看方式: 由于浏览器访问限制无法打开selenium官网的change log, 可以通过百度搜索selenium changelog去Github上查看。

查看firefox支持版本的另一种方式:使用WINRAR打开selenium-server-standalone-3.3.1.jar>org>openqa>selenium>firefox>webdriver.xpi>install.rdf, 最后人xpi和rdf文件使用winrar右键的查看文件功能查看。

三、代码设置:

前面被注释掉的那一行“webdriver.firefox.marionette”是之前从网上找的代码,因为这句代码花费了很长的时间来定位问题。

使用这个代码的时候,运行程序一直提示本文开头的错误,所以我就以为是firefox浏览器和selenium不兼容导致,换了各种firefox浏览器版本。

换到48的时候我可以肯定selenium、geckodriver.exe、firefox版本是没有问题的,那如果有问题的话应该就是geckodriver.exe使用的问题。

后来又在网上搜到geckodriver.exe的调用方法,发现与我原来写的有区别,更新为webdriver.gecko.driver之后运行程序正确,后又将firefox升级到目前最新版52再次测试通过。

到此结束,各软件版本如下:

selenium-server-standlone-3.3.1.jar

geckodriver.exe V.15.0

firefox 48.0.2 /52.0.2