使用Selenium进行Web自动化测试时,浏览器如果使用的是Firefox,那么在Selenium的版本选择和Firefox版本选择以及是否需要单独的WebDriver驱动上面,就有一些需要注意的问题了。
在安装完selenium(pip3 install selenium)后,还需要安装驱动geckodriver。其中需要注意的是他们两者之间版本问题。
当你运行程序出现下面错误时,可能就是版本问题了。
selenium.common.exceptions.WebDriverException: Message: connection refused
起初,我一直在xshell操作,这样会报错。后来就直接到虚拟机的终端界面去直接操作了,可以打开Firefox,但就没有后续反映了,之后便爆出上面的错误。我查询半天,先是将Firefox更新到Mozilla Firefox 52.8.0,但是仍然有问题,最后查看了一下geckodriver的版本为geckodriver 0.20.1,发现原来是它的版本过高(所以不是越新越好)。最后下载了geckodriver 0.18.0版本:geckodriver-v0.18.0-linux64.tar.gz (下载地址:https://github.com/mozilla/geckodriver/releases)。
切换到下载路径下,输入以下命令:
tar -xvzf geckodriver*
chmod +x geckodriver
sudo mv geckodriver /usr/local/bin/
至此,geckodriver安装配置成功。
Firefox与其驱动geckodriver之间版本的对应关系,我并未找到具体情况说明,这种仅为参考。
参考文章:
https://blog.csdn.net/qq_23926575/article/details/77268924
https://blog.csdn.net/u013250071/article/details/78803230