Python3.6+selenium3.3+Firefox52
在使用selenium3.3启动Firefox52的时候卡了好长时间,最近终于解决了,特来分享一下。如下:
首先报错信息如下:
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
1、selenium和Firefox的版本见标题
2、原因:
在Firefox高版本需要使用 geckodriver 来驱动,不再使用Seleniu默认自带的Firefox webdriver。所以需要单独下载。IE和Chrome的驱动都是相同的道理。
Firefox的驱动地址如下:
https://github.com/mozilla/geckodriver/releases
我下载的是v0.11.1
下载之后把驱动所在的路径放到环境变量里面
3、把Firefox的安装路径添加到系统变量里面
可以通过右键图标属性来查看路径
操作完之后重启IDE,再次执行下就好了。
第二种方法:
上面的1、2还是要执行的
3、在Python代码中指定Firefox浏览器程序路径。
binary = FirefoxBinary(‘D:\Firefox\Firefox\firefox.exe’)
driver = webdriver.Firefox(firefox_binary=binary)
注:提示找不到”firefoxBinary”可以通过下面语句导入 from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
这样就能正常使用了。
另一个处理办法是将firefox的安装路径,直接增加到 python35\Lib\site-packages\selenium\webdriver\firefox 目录下的 firefox_binary.py文件中,如下图所示,然后driver = webdriver.Firefox()调用
下面贴一下系统变量的图片:
要添加到Temp的path下(我是添加到这里面的,具体原理不清楚)
先说到这里!
更多推荐
所有评论(0)