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导致的,解决办法同上。

posted @ 2016-11-10 15:58  小七111  阅读(14479)  评论(5编辑  收藏  举报