Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Проблема с запуском Firefox (python, geckodriver)

geckodriver
firefox
selenium
python
webdriver
Теги: #<Tag:0x00007fedc14ea0c8> #<Tag:0x00007fedc14e9e20> #<Tag:0x00007fedc14e9b00> #<Tag:0x00007fedc14e98f8> #<Tag:0x00007fedc14e9498>

(Сергей) #1

Добрый день!
Сразу оговорюсь, что я только-только начал познавать selenium и задачи я придумываю сам себе, поэтому не ругайте. Задача следующая, подбирать пароли на форму авторизации в интерактиве (с показательным запуском браузера) и c каждым следующим паролем запускать другой браузер (эмуляция некоего NAT). Так вот, если chromium driver запускается без проблем, то в случае с Firefox у меня возникли проблемы, конкретно с gecko.
Ниже предоставлен кусочек быдло-кода:

def ChooseDriver (drivername,urls,login):

    if drivername == 'Chrome':
        driver = webdriver.Chrome()
    else:
        fx_capabilities = DesiredCapabilities.FIREFOX
        fx_capabilities['marionette'] = True
        fx_capabilities['binary'] = "C:\\Program Files\\Mozilla Firefox\\firefox.exe"
        driver = webdriver.Firefox(capabilities = fx_capabilities)
    
    driver.get(urls)
    ....
geckodriver добавлен в path и в логах gecko следующее: geckodriver: Unknown option --port

Ну и вывод консоли:

D:\git_dir\top_100_passwd>main.py -u google.com -l admin
Traceback (most recent call last):
File “D:\git_dir\top_100_passwd\main.py”, line 78, in
instance.PasswordChekers()
File “D:\git_dir\top_100_passwd\main.py”, line 68, in PasswordChekers
CheckPassForm.ChooseDriver(‘Firefox’,self.urls, self.login)
File “D:\git_dir\top_100_passwd\main.py”, line 49, in ChooseDriver
driver = webdriver.Firefox(capabilities = fx_capabilities)
File “C:\Users\safe\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdr
iver\firefox\webdriver.py”, line 142, in init
self.service.start()
File “C:\Users\safe\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdr
iver\common\service.py”, line 96, in start
self.assert_process_still_running()
File “C:\Users\safe\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdr
iver\common\service.py”, line 109, in assert_process_still_running
% (self.path, return_code)
selenium.common.exceptions.WebDriverException: Message: Service geckodriver unexpectedly exited. Status code was: 2

Прошу поделится секретом запуска firefox, ну либо грамотной докой, которая бы расставила все на свои места.
Спасибо!


(Maxim Andryushchenkov) #2

Первый раз вижу чтобы FF вызывали через бинарник браузера.
Здесь скачать под свою систему гекодрайвер и указать путь к нему в вызове драйвера:


(Roy Obenon) #3

вот пример норм - https://stackoverflow.com/questions/39312903/running-webdriver-with-firefox-python, в принципе в питоном 3.6 тоже должен завестись


(Сергей) #4

Спасибо, завелся!


(Сергей) #5

Сохранил, почему-то оказалось, что у меня версия 0.9.
Спасибо!