日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

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

發(fā)布時(shí)間:2024/1/1 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 robot selenium+python 对火狐浏览器进行网页自动化测试 报错历程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

robotfremaker selenium+python 使用
我的安裝版本:python2.7 查看版本 cmd命令下輸入python
用pip安裝了selenum 3.11.0 查看版本 cmd命令下輸入pip show selenium
火狐版本38.8.0

在使用Open Browser關(guān)鍵字打開瀏覽器時(shí),報(bào)錯(cuò)信息如下:
20180416 15:06:49.348 : INFO : Cannot capture screenshot because no browser is open.
WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.

本著用最新版selenium 3
網(wǎng)上搜了各種解決辦法,
1.單獨(dú)下載火狐插件geckodriver,解壓到火狐安裝根路徑,(下載地址:https://github.com/mozilla/geckodriver/releases 根據(jù)自己的電腦下載的最新版64位的v0.20.1 )
2.然后將該路徑添加到path環(huán)境變量下。再次運(yùn)行,報(bào)了一個(gè)新的錯(cuò)誤:“selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities”
3.繼續(xù)各種問度娘,原因是geckodriver版本與selenum版本不兼容,沒有特別明確的版本對應(yīng)說明,于是從0.20.1依次降低版本,嘗試,最終使用deckdriverV0.15版本成功
4.此時(shí)運(yùn)行又報(bào)了一個(gè)新的錯(cuò)誤,:“selenium.common.exceptions.WebDriverException: Message: Unsupported Marionette protocol version 2, required 3;
5.繼續(xù)往上查原因,說是firefox版本太低了,需要升級到最新版,我當(dāng)前是38.8.0. 網(wǎng)上百度,升級到40.0 或41.0 可以成功
6.我升級到41.0,運(yùn)行后,發(fā)現(xiàn)只打開了瀏覽器,而沒有打開網(wǎng)址,繼續(xù)報(bào)錯(cuò)。錯(cuò)誤提示:Cannot capture screenshot because no browser is open.WebDriverException: Message: Not a Numbe
7.啊啊啊,我的報(bào)錯(cuò)之路,卡在這里了,嘗試了依次升級firefox到47.0 依然報(bào)錯(cuò)Not a Number
耐心嘗試,繼續(xù)升級。火狐升級到59.0

大神解釋:這種問題一般為版本問題:Selenium版本為3,或者火狐版本太高,一般Selenium2支持46以下的
8.selenium與火狐版本不兼容,嘗試升級selenium的jar包,或兼容firefox低版本

傳說在selenium下載頁面 http://www.seleniumhq.org/download/ (需FQ) 各個(gè)版本的changelog中,會記錄支持的firefox版本。 en。。。。。。這些個(gè)官網(wǎng)我永遠(yuǎn)打開都是無法訪問此網(wǎng)站以告終。。

方法二,降低selenium版本。
卸載selenium版本:
cmd下輸入:pip uninstall selenium
安裝: pip install selenium x.xx.x(對應(yīng)selenium版本) 一般Python 2.x 對應(yīng) selenium 2.x python 3.x 對應(yīng) selenium 3.xx
如果安裝失敗,報(bào) 錯(cuò):Cannot fetch index base URL https://pypi.python.org/simple/ Could not find any downloads that satisfy the requirement selenium
可以下載安裝 下載地址:https://pypi.python.org/pypi/selenium/2.42.1
進(jìn)入下載文件存放地址 cmd cd 進(jìn)入 python setup.py install pip show selenium查看安裝版本

網(wǎng)友給出的selenium java對應(yīng) 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還未同步升級,后面估計(jì)可以正常支持。
若selenium的版本和firefox不兼容,需要升級selenium的jar包,或者是升級firefox。
因?yàn)镾elenium3不支持向前支持火狐瀏覽器了,40以后版本的火狐,運(yùn)行會出現(xiàn)問題。

附:
各firefox版本下載地址
http://ftp.mozilla.org/pub/firefox/releases/
各selenium版本下載地址:
https://pypi.python.org/pypi/selenium/
火狐插件geckodriver下載地址:
https://github.com/mozilla/geckodriver/releases

最終以selenium-python-2.53.2版本和firefox 38.8.0版本兼容
以及selenium-python-3.11.0 版本和firefox 59.0 版本兼容
成功。。。至此,我把歷時(shí)一天的改錯(cuò)歷程分享出來,供大家參考。邀請大神指出其中錯(cuò)誤之處。

總結(jié)

以上是生活随笔為你收集整理的robot selenium+python 对火狐浏览器进行网页自动化测试 报错历程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。