您的位置:首页 > 编程语言 > Python开发

Windows环境下使用python selenium 打开Firefox的问题总结

2016-09-23 14:50 681 查看
最近需要在windows平台下写爬虫,用selenium + PhantomJS 是甚好的选择,但由于前期调试阶段还是对网页可见比较好,所以就选用了selenium (3.0.1)+ firefox(49.0.2)的组合。



但在windows底下,安装了最新版的selenium 3.0.1,直接启动webdriver会报错

from selenium import webdriver
browser = webdriver.Firefox()
browser


抛出

WebDriverException: Message: 'geckodriver' executable needs to be in PATH.


(゚Д゚≡゚Д゚)/

好吧,见招拆招,我就bing了一下(不得不吐槽技术方面的内容百度真是糟糕透了……可惜谷歌最近的翻墙又有点问题。。。)

伪 · 解决方案在此这真的是不完全解决方案,但完成了解决方案的一部分,就是下载一个 geckodriver 并将其路径设置到指定的环境变量底下。

接下来你会发现报另一个错

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


正确的打开方式

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
# firfoxdriver 为 你的firefox安装路径
firfoxdriver = 'D:\\KXF_software\\firefox\\firefox.exe'
binary = FirefoxBinary(firfoxdriver)
browser = webdriver.Firefox(firefox_binary=binary,executable_path='C:\\geckodriver\\geckodriver.exe')


终于可以打开浏览器啦~(=▽=)b

具体的原理暂时挖个坑,后续补上~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息