robotframework,selenium啟動不了打不開瀏覽器的問題訪問不了網頁


    由於最近發現咨詢火狐瀏覽器打不開的問題比較多,現羅列幾點解決辦法。

1,由於selenium更新3.0的原因導致不在默認支持火狐瀏覽器,且支持的火狐瀏覽器大概在45以上的版本,所以很多都由於這個原因導致selenium在運行時打不開瀏覽器。

    解決辦法有兩種:

    1).     可繼續使用selenium2.x的版本,但是隨着selenium及火狐的不斷更新,時間久了始終會有點坑的。但是目前能解決,selenium2.53.6默認支持火狐47及47以下的瀏覽器。

         python更新selenium的版本可用:

         pip install -U selenium==2.53.6

    2).     第二種辦法當然就是使用限制的selenium3.0的版本,由於不在默認支持火狐瀏覽器,且  Message: 'geckodriver' executable needs to be in PATH  這個錯誤大家應該

        都不陌生了,問題如看到的一樣,需要名為geckodriver.exe的一個火狐瀏覽器driver在path中,當然解決辦法就是,下載一個geckodriver.exe並將存放的路徑添加在path中,簡單點就

        直接放python的根目錄下即可,下載地址 https://github.com/mozilla/geckodriver/releases,另外需要注意下,geckodriver分32及64位的版本,版本需與瀏覽器對應。當你看到如下報錯時,Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line, 說明你的火狐瀏覽器和driver版本沒有對應上,需確保火狐及driver都是32位或64位的。

  順便提一下現在新的版本,selenium=3.4.3,selenium2Library=1.8.0,火狐瀏覽器當前最新版本是55,然后geckodriver=0.18. 安裝使用的時候 請注意下geckodriver支持的火狐瀏覽器。

  另外有些人可能裝了類似geckodriver=0.15的版本,只時候你可能需要降一下selenium版本方可使用,pip install -U selennium=3.0.2

    3).     順便提一下,很多人現在使用的robotframework版本及ride版本都比較落后,先說明下robotframework版本最新為3.0,ride的版本為1.5.2.1.所以引起打不開瀏覽器如果

        上面的已經做了,仍然打不開,可考慮更新下這兩個的版本。

       pip install -U robotframework

       pip install -U robotframework-ride

    總結下,如果使用selenium2.x的版本,需火狐瀏覽器為47及以下的版本,如果使用selenium3.0,需確保下載有geckodriver且路徑在path中。目前selenium3.0支持火狐45及以上的版本。目前最新的火狐瀏覽器為49。

2,順便提一下谷歌及ie,由於selenium2.x默認不支持,所以更新3.0之后仍需要chromedriver.exe及iedriverserver.exe。可自行在http://chromedriver.storage.googleapis.com/index.html下載,自行百度chromedriver支持的版本吧

3,當遇到瀏覽器打開了,但是無法訪問頁面的時候,往往是由於使用了高版本的瀏覽器和低版本的selenium導致的,解決辦法同上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM