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