1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > robot selenium+python 对火狐浏览器进行网页自动化测试 报错历程

robot selenium+python 对火狐浏览器进行网页自动化测试 报错历程

时间:2021-08-21 13:57:09

相关推荐

robot selenium+python  对火狐浏览器进行网页自动化测试 报错历程

robotfremaker selenium+python 使用

我的安装版本:python2.7 查看版本 cmd命令下输入python

用pip安装了selenum 3.11.0 查看版本 cmd命令下输入pip show selenium

火狐版本38.8.0

在使用Open Browser关键字打开浏览器时,报错信息如下:

0416 15:06:49.348 : INFO : Cannot capture screenshot because no browser is open.

WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.

本着用最新版selenium 3

网上搜了各种解决办法,

1.单独下载火狐插件geckodriver,解压到火狐安装根路径,(下载地址:/mozilla/geckodriver/releases 根据自己的电脑下载的最新版64位的v0.20.1 )

2.然后将该路径添加到path环境变量下。再次运行,报了一个新的错误:“mon.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities”

3.继续各种问度娘,原因是geckodriver版本与selenum版本不兼容,没有特别明确的版本对应说明,于是从0.20.1依次降低版本,尝试,最终使用deckdriverV0.15版本成功

4.此时运行又报了一个新的错误,:“mon.exceptions.WebDriverException: Message: Unsupported Marionette protocol version 2, required 3;

5.继续往上查原因,说是firefox版本太低了,需要升级到最新版,我当前是38.8.0. 网上百度,升级到40.0 或41.0 可以成功

6.我升级到41.0,运行后,发现只打开了浏览器,而没有打开网址,继续报错。错误提示:Cannot capture screenshot because no browser is open.WebDriverException: Message: Not a Numbe

7.啊啊啊,我的报错之路,卡在这里了,尝试了依次升级firefox到47.0 依然报错Not a Number

耐心尝试,继续升级。火狐升级到59.0

大神解释:这种问题一般为版本问题:Selenium版本为3,或者火狐版本太高,一般Selenium2支持46以下的

8.selenium与火狐版本不兼容,尝试升级selenium的jar包,或兼容firefox低版本

传说在selenium下载页面 /download/ (需FQ) 各个版本的changelog中,会记录支持的firefox版本。 en。。。。。。这些个官网我永远打开都是无法访问此网站以告终。。

方法二,降低selenium版本。

卸载selenium版本:

cmd下输入:pip uninstall selenium

安装: pip install selenium x.xx.x(对应selenium版本) 一般Python 2.x 对应 selenium 2.x python 3.x 对应 selenium 3.xx

如果安装失败,报 错:Cannot fetch index base URL /simple/ Could not find any downloads that satisfy the requirement selenium

可以下载安装 下载地址:/pypi/selenium/2.42.1

进入下载文件存放地址 cmd cd 进入 python setup.py install pip show selenium查看安装版本

网友给出的selenium java对应 firefox 版本号,我就没有一一尝试,

2.25.0 -> 18

2.30.0 -> 19

2.31.0 -> 20

2.42.2 -> 29

2.44.0 -> 33 (不支持31)

2.53.0 -> 43,46(不支持47)

2.41.0 -> 26(绿色版本)

2.44 -> 32.0-35.0

2.53.0-2.53.6 -> 40.0.3

亲测

2.53.2 ->38.8-45.5.1

3.11.0 -> 59.0

elenium-java-2.42.2版本和firefox 29.0.1版本兼容,如果升级到firefox 30+,则浏览器启动失败。可能是selenium还未同步升级,后面估计可以正常支持。

若selenium的版本和firefox不兼容,需要升级selenium的jar包,或者是升级firefox。

因为Selenium3不支持向前支持火狐浏览器了,40以后版本的火狐,运行会出现问题。

附:

各firefox版本下载地址

/pub/firefox/releases/

各selenium版本下载地址:

/pypi/selenium/

火狐插件geckodriver下载地址:

/mozilla/geckodriver/releases

最终以selenium-python-2.53.2版本和firefox 38.8.0版本兼容

以及selenium-python-3.11.0 版本和firefox 59.0 版本兼容

成功。。。至此,我把历时一天的改错历程分享出来,供大家参考。邀请大神指出其中错误之处。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。