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

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

Windows环境下使用python selenium 打开Firefox的问题总结_第1张图片

但在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

具体的原理暂时挖个坑,后续补上~

你可能感兴趣的:(个人技术点滴)