報錯信息:
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