selenium.common.exceptions.WebDriverException: Сообщение: исполняемый файл Mozilla Firefox может иметь неправильные разрешения при использовании GeckoDriver - PullRequest
0 голосов
/ 08 июня 2018

У меня возникли проблемы с попыткой заставить селен работать с браузерами.Я супер-новичок в подобных вещах, но я все еще искал, и самым подходящим ответом, который я нашел, было то, что мне нужно было запустить приложение от имени администратора, но это ничего не изменило.Вот мой код и сообщение об ошибке.Большое спасибо.

import time
from selenium import webdriver
driver = webdriver.Firefox(executable_path="C:\Program Files\Mozilla Firefox")

Мое сообщение об ошибке:

Traceback (most recent call last):
  File "C:\Users\Axel\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
    stdin=PIPE)
  File "C:\Users\Axel\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Axel\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
PermissionError: [WinError 5] Access is denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Axel\Desktop\PYTHON\code.py", line 3, in <module>
    driver = webdriver.Firefox(executable_path="C:\Program Files\Mozilla Firefox")
  File "C:\Users\Axel\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 160, in __init__
    self.service.start()
  File "C:\Users\Axel\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", line 88, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'Mozilla Firefox' executable may have wrong permissions. 

Я почти уверен, что эти две ошибки - только одна, и я прошел через целую кучу потоков, ноЯ никогда не понимаю вещи правильно.Я задавался вопросом, было ли это как-то связано с geckdriver (чего я не знаю и не знаю, как установить.) Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Это сообщение об ошибке ...

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

... означает, что исполняемый файл Mozilla Firefox был недоступен из-за неправильных разрешений.

При работе с Selenium v3.x , GeckoDriver и Firefox Вы должны учитывать следующие факты:

  • Вместо Mozilla Firefox двоичный файл (т. Е. firefox.exe), вам необходимо передать абсолютный путь двоичного файла GeckoDriver через аргумент executable_path внутри одинарные кавычки (то есть '') вместе с переключателем raw (r).
  • Вам необходимо загрузить последнюю версию GeckoDriver с эту ссылку и убедитесь, что GeckoDriver имеет необходимые разрешения для доступа не-root пользователь.
  • Всегда выполняйте TestCases / TestSuite как пользователь без полномочий root .
  • Ваш эффективный блок кода будет следующим:

    from selenium import webdriver
    driver = webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.exe')
    
0 голосов
/ 08 июня 2018

Я считаю, что для версии Firefox (47.0+) вам нужно использовать geckodriver.Проверьте это здесь: https://github.com/mozilla/geckodriver/releases

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...