Python 3.5 - “Geckodriver executable needs to be i

2020-01-24 10:07发布

I added geckodriver.exe into PATH as you can see on this image and i restarted my computer after. But the error still show up.

Here's my code :

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('https://stackoverflow.com')

Do you have clues about what I did wrong ?

3条回答
该账号已被封号
2楼-- · 2020-01-24 10:29

There are three ways to resolve this error.

  1. Download the gecko driver and keep it in directory where your python test script is there.
  2. Set the environment variable "webdriver.gecko.driver" with driver path as value. os.environ["webdriver.gecko.driver"]="c:\geckodriver.exe"

  3. Pass executable path to the constructor like driver = WebDriver.Firefox("path of executable")

查看更多
够拽才男人
3楼-- · 2020-01-24 10:30

Are you setting the capabilities correctly? In case you are setting the version capability, verify that it is correct or remove it altogether. I am talking of the below:

capabilities.SetCapability("version", "50.0");
查看更多
孤傲高冷的网名
4楼-- · 2020-01-24 10:31

I don't see any significant error in your code block. While working with Selenium 3.4.3, geckodriver v0.17.0, Mozilla Firefox 53.0 with Python 3.6.1 you can consider downloading the geckodriver and save it anywhere in your machine and configuring the absolute path of the geckodriver through executable_path.

It is to be noted that the current Selenium-Python binding is unstable with geckodriver and looks to be Architecture specific. You can find the github discussion and merge here. So you may additionally need to pass the absolute path of the firefox binary as firefox_binary argument while initializing the webdriver

Here is your own code block which executes well at my end:

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

binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get('https://stackoverflow.com')
查看更多
登录 后发表回答