无法加载火狐硒的webdriver在python

问题描述:

我已经安装了Python 3.6.2,3.5.0硒与GeckoDriver和0.18.0火狐版本54.0.1version在Windows 7我试图运行硒脚本正在加载一个Firefox,我得到与Firefox版本错误不匹配。请让我知道是什么问题。下面的代码和错误消息。无法加载火狐硒的webdriver在python

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 
capabilities = webdriver.DesiredCapabilities().FIREFOX 
capabilities["marionette"] = False 
binary = FirefoxBinary('C:/Users/gopalakrishnarr/Downloads/FirefoxPortable/App/Firefox/firefox.exe') 
driver = webdriver.Firefox(firefox_binary=binary, capabilities=capabilities, executable_path="C:/Users/gopalakrishnarr/AppData/Local/Programs/geckodriver-v0.18.0-win64/geckodriver.exe") 
driver.get("http://www.google.com") 

错误消息返回:

Traceback (most recent call last): 
    File "C:\PythonSelenium\Sample.py", line 12, in <module> 
    driver = webdriver.Firefox(firefox_binary=binary, capabilities=capabilities, executable_path="C:/Users/gopalakrishnarr/AppData/Local/Programs/geckodriver-v0.18.0-win64/geckodriver.exe") 
    File "C:\Users\gopalakrishnarr\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium-3.5.0-py3.6.egg\selenium\webdriver\firefox\webdriver.py", line 171, in __init__ 
    self.binary, timeout) 
    File "C:\Users\gopalakrishnarr\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium-3.5.0-py3.6.egg\selenium\webdriver\firefox\extension_connection.py", line 52, in __init__ 
    self.binary.launch_browser(self.profile, timeout=timeout) 
    File "C:\Users\gopalakrishnarr\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium-3.5.0-py3.6.egg\selenium\webdriver\firefox\firefox_binary.py", line 73, in launch_browser 
    self._wait_until_connectable(timeout=timeout) 
    File "C:\Users\gopalakrishnarr\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium-3.5.0-py3.6.egg\selenium\webdriver\firefox\firefox_binary.py", line 114, in _wait_until_connectable 
    % (self.profile.path)) 

selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Possible firefox version mismatch. You must use GeckoDriver instead for Firefox 48+. Profile Dir: C:\Users\GOPALA~1\AppData\Local\Temp\tmpc1dfsd6w If you specified a log_file in the FirefoxBinary constructor, check it for details. 

当你与Python 3.6.2工作,Selenium 3.5.0GeckoDriver 0.18.0和Firefox浏览器的版本是54.0.1Windows 7,你不能属性marionette设置为False。强制将marionette设置为False将引发WebDriverException。所以,无论是你必须接受的["marionette"] = True默认设置,也可以明确设置["marionette"]True如下:

from selenium import webdriver 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 

capabilities = webdriver.DesiredCapabilities().FIREFOX 
capabilities["marionette"] = True 
binary = FirefoxBinary('C:/Program Files/Mozilla Firefox/firefox.exe') 
driver = webdriver.Firefox(firefox_binary=binary, capabilities=capabilities, executable_path="C:/Utility/BrowserDrivers/geckodriver.exe") 
driver.get("http://www.google.com") 
+0

工作就像一个魅力!谢谢@DebanjanB –