selenium.common.exceptions.WebDriverException: Сообщение: исполняемый файл Geckodriver может иметь неправильные разрешения с использованием GeckoDriver Firefox Selenium Python

Я получаю эту ошибку, когда пытаюсь выполнить свой первый код на Selenium / python.

selenium.common.exceptions.WebDriverException: Сообщение: исполняемый файл Geckodriver может иметь неправильные разрешения.

Мой код:

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");

person Asif    schedule 11.10.2017    source источник
comment
Если вы работаете в системе Linux, используйте which geckodriver, чтобы найти путь к исполняемому файлу geckodriver. Затем используйте ll /path/to/geckodriver, чтобы показать разрешения. У вас должны быть права на исполнение. Если вы этого не сделаете, используйте chmod +x /path/to/geckodriver, чтобы дать права на выполнение всем пользователям.   -  person con--    schedule 11.10.2017
comment
@ con - он использует окна, поэтому я не думаю, что предложенный вариант сработает   -  person Gaurang Shah    schedule 11.10.2017
comment
можешь попробовать поставить в какой-нибудь другой драйвер кроме c   -  person Gaurang Shah    schedule 11.10.2017
comment
@GaurangShah да, я пытался держать свой Geckodriver на диске D. но все равно получаю ту же ошибку.   -  person Asif    schedule 11.10.2017
comment
показывая, что двоичный файл не является исполняемым файлом firefox   -  person DikShU    schedule 23.09.2020


Ответы (4)


Путь для драйвера установлен неправильно, вам нужно установить путь до .exe, как показано ниже.

driver = webdriver.Firefox(firefox_binary=binary,
                               executable_path="C:\\Users\\mohammed.asif\\Geckodriver\\geckodriver.exe")
person Shoaib Akhtar    schedule 11.10.2017
comment
Спасибо! но это приводит меня к другой ошибке selenium.common.exceptions.WebDriverException: Сообщение: невозможно найти соответствующий набор возможностей - person Asif; 11.10.2017
comment
Проверьте один раз, работает ли этот образец программы на вашем компьютере? from selenium import webdriver driver = webdriver.Firefox (executable_path = 'D: /Software/BrowsersDriver/GeckoDriver/geckodriver.exe') // установите свой путь в соответствии с y driver.get ('google.com ' - person Shoaib Akhtar; 11.10.2017

сделайте свой исполняемый файл geckodriver:

sudo chmod +x geckodriver

person Shawn    schedule 11.11.2018

При работе с клиентами Selenium v3.6.0, geckodriver и Mozilla Firefox через клиенты Selenium-Python необходимо скачать geckodriver.exe из репозитория и поместите его в любом месте с помощью вашей системе и укажите ссылку на geckodriver.exe по его абсолютному пути при инициализации webdriver. Кроме того, если в вашей системе установлено несколько экземпляров Mozilla Firefox, вы можете указать абсолютный путь к предполагаемому двоичному файлу firefox, то есть с firefox.exe по Options() следующим образом:

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()
person DebanjanB    schedule 11.10.2017

Во-первых, согласно @shohib, ваш путь неверен, он правильный

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

За эту ошибку

error selenium.common.exceptions.WebDriverException: сообщение: невозможно найти соответствующий набор возможностей

Вам нужно сделать правильную комбинацию Firefox и Selenium Jars.

Либо обновите банки firefox и selenium, я бы предложил использовать

Firefox 50-52 и Selenium 3.4.1

person iamsankalp89    schedule 11.10.2017