简体   繁体   中英

selenium.common.exceptions.WebDriverException: Message: 'Geckodriver' executable may have wrong permissions using GeckoDriver Firefox Selenium Python

I get this error when I try to execute my first Selenium/python code.

selenium.common.exceptions.WebDriverException: Message: 'Geckodriver' executable may have wrong permissions.

My code :

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

if __name__ == '__main__':

    binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
    driver = webdriver.Firefox(firefox_binary=binary,
                               executable_path="C:\\Users\\mohammed.asif\\Geckodriver")


    driver=webdriver.Firefox()

    driver.get("www.google.com");

Path for driver is not set correctly, you need to set path till the .exe as shown below

driver = webdriver.Firefox(firefox_binary=binary,
                               executable_path="C:\\Users\\mohammed.asif\\Geckodriver\\geckodriver.exe")

使您的 geckodriver 可执行:

sudo chmod +x geckodriver

While working with Selenium v3.6.0 , geckodriver and Mozilla Firefox through Selenium-Python clients, you need to download the geckodriver.exe from the repository and place it anywhere with in your system and provide the reference of the geckodriver.exe through its absolute path while initializing the webdriver . Additionally if you are having multiple instances of Mozilla Firefox installed on your system, you can mention the absolute path of the intended firefox binary ie firefox.exe through Options() as follows:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

if __name__ == '__main__':
    binary = r'C:\Program Files\Mozilla Firefox\firefox.exe'
    options = Options()
    options.binary = binary
    browser = webdriver.Firefox(firefox_options=options, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
    browser.get('http://google.com/')
    browser.quit()

First as per @shohib your are path is wrong, it is correct

driver = webdriver.Firefox(firefox_binary=binary,
                               executable_path="C:\\Users\\mohammed.asif\\Geckodriver\\geckodriver.exe")

For this error

error selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities

You need to make correct combination of Firefox and Selenium Jars

Either update the firefox and selenium jars, I would suggest to use

Firefox 50-52 and Selenium 3.4.1

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM