@Axeles
Нечего тут пока писать

Почему не запускается Firefox 52 ESR под управлением geckodriver?

Доброго времени суток уважаемое сообщество. Прошу Вас направить меня в правильное русло. Подскажите почему я не могу запустить Firefox посредством selenium webdriver. Селениум устанавливал посредством pip. Драйвера для Chrome и Firefox брал с официальных страниц на GitHub. При написании простого кода
from selenium import webdriver
browser=webdriver.Chrome("C:\\chromedriver.exe")

всё работает. Хром отлично открывается. Но мне необходим именно Firefox (дело вовсе не в принципиальности). И при написании кода с небольшими изменениями
from selenium import webdriver
browser=webdriver.Firefox("C:\\geckodriver.exe")

получаю ошибку
Traceback (most recent call last):
File "C:\Users\PC1\Desktop\SeleniumWebDR.py", line 3, in
browser=webdriver.Firefox("C:\\geckodriver.exe")
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 151, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\firefox_profile.py", line 80, in __init__
ignore=shutil.ignore_patterns("parent.lock", "lock", ".parentlock"))
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\shutil.py", line 309, in copytree
names = os.listdir(src)
NotADirectoryError: [WinError 267] Неверно задано имя папки: 'C:\\geckodriver.exe'

Пробовал и не указывать адрес драйвера, а добавить переменные среды путь в (PATH) и если положить драйвер в папку со скриптом имею следующую ошибку
Traceback (most recent call last):
File "C:\Users\PC1\Desktop\SeleniumWebDR.py", line 3, in
browser=webdriver.Firefox()
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 174, in __init__
keep_alive=True)
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\PC1\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities

Данный код описан в документации, но если написать так
from selenium import webdriver
browser = webdriver.Firefox(capabilities={"marionette": False})

то всё работает. Помогите пожалуйста. Объясните почему так!
Версия Пайтона
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:05:16) [MSC v.1915 32 bit (Intel)] on win32

Может всё дело в x32 битной системе
  • Вопрос задан
  • 987 просмотров
Пригласить эксперта
Ответы на вопрос 2
ScriptKiddo
@ScriptKiddo
Попробуйте версию по этой ссылке
Положите в папку, которую добавляли в PATH
Для теста используйте следующий код:
from selenium import webdriver
driver = webdriver.Firefox()
Ответ написан
Комментировать
@Axeles Автор вопроса
Нечего тут пока писать
Как не странно после переустановки Firefox всё заработало. Всем огромное спасибо за подсказки! С наступающим Вас праздниками!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы