Selenium + Firefox + geckodriver

Автор: Igor Kirsanov

Типовой код для запуска браузера Firefox под управлением Selenium. Для успешного запуска нужен geckodriver и установленный браузер Firefox

from selenium import webdriver
driver = webdriver.Firefox(executable_path=r'your\path\geckodriver.exe')
driver.get('http://wd5.ru/')

Возможные ошибки

  • selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. Драйвер управления браузером не найден.

Решение

  1. необходимо загрузить geckodriver на компьютер, подходящий для данной версии браузера и операционной системы
  2. Использовать код приведенный выше (используя executable_path) указываем путь к драйверу, путь может быть как относительный, так и абсолютный

Альтернативные варианты кода

Добавить в системные пути папку содержащую драйвер

import os
os.environ["PATH"] += os.pathsep + r'path/to/dir/containing/geckodriver/'

Путь до драйвера и альтернативной версии браузера

gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'geckodriver'))
binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko+'.exe')

Так же допустимо просто переложить файл geckodriver в ту папку, которая входит в системный путь.