【已经解决!】CentOS 6.5下高版本Firefox和selenium报错问题

  • A+
所属分类:python笔记
本文信息本文由方法SEO顾问发表于2016-11-0113:58:37,共 1620 字,转载请注明:【已经解决!】CentOS 6.5下高版本Firefox和selenium报错问题_【方法SEO顾问】

这里记录下使用selenium碰到的问题。
报错信息如下时:
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
这是因为在Firefox高版本需要使用 geckodriver来驱动,不再使用Seleniu默认自带的Firefox webdriver。
我们只需要在下面这个地址下载geckodriver并将 其所在的路径设为环境变量即可解决。
https://github.com/mozilla/geckodriver/releases
当报如下错误信息时,则是
selenium.common.exceptions.WebDriverException: Message: 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
这时我们需要指定Firefox浏览器程序路径。
binary = FirefoxBinary('D:\\Firefox\\Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
这样就能正常使用了。

1. selenium 3.x开始,webdriver/firefox/webdriver.py的__init__中,executable_path="geckodriver";而2.x是executable_path="wires"

2. firefox 47以上版本,需要下载第三方driver,即geckodriver;在http://docs.seleniumhq.org/download/的Third Party Drivers, Bindings, and Plugins下面找到Mozilla GeckoDriver,下载到任意电脑任意目录,解压后将该路径加入到PC的path(针对windows)即可。

下面是基于CentOS 6.5系统下更新selenium 3.x后的设置步骤

##第一步:升级selenium,将原来的selenium 2.x升级为selenium 3.x

pip install selenium --upgrade

##第二步,下载Firefox的geckodriver

https://github.com/mozilla/geckodriver/releases

##第三步,将geckodriver添加到系统的PATH里

export PATH=$PATH:/root/geckodriver

参考文章:

1、https://coderwall.com/p/-h-oxa/run-selenium-with-latest-firefox-versions

2、https://segmentfault.com/a/1190000007249396

3、https://ydc1992.github.io/2016/10/26/selenium-Firefox-48-%E6%8A%A5%E9%94%99%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/?utm_source=tuicool&utm_medium=referral

4、http://stackoverflow.com/questions/38917412/python3-5-2-selenium-3-0-0b2-firefox-48-0-inconsistent-use-of-tabs-and-spaces

5、https://www.zhihu.com/question/49568096

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: