- A+
这里记录下使用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