webdriver.Firefox ()
Согласно документации в selenium.webdriver.firefox.webdriver следующая строка является конструктором по умолчанию .
driver = webdriver.Firefox()
Пока вы используете конструктор по умолчанию , ваш скрипт / программа ожидает, что базовая переменная OS PATH будет содержать абсолютный путь GeckoDriver который начнет новый локальный сеанс браузера Firefox
webdriver.Firefox (executable_path = r'C: \ путь \ к \ geckodriver.exe ')
Опять же, согласно документации selenium.webdriver.firefox.webdriver полная / полная подпись webdriver.Firefox () выглядит следующим образом:
class selenium.webdriver.firefox.webdriver.WebDriver(firefox_profile=None, firefox_binary=None, timeout=30, capabilities=None, proxy=None, executable_path='geckodriver', options=None, service_log_path='geckodriver.log', firefox_options=None, service_args=None, desired_capabilities=None, log_path=None)
Это обеспечивает следующее:
- Запускает новый локальный сеанс Firefox.
- На основе комбинации и специфики различных аргументов ключевых слов будет создан словарь возможностей, который передается на удаленный конец.
- Аргументы ключевого слова, данные этому конструктору, помогают облегчить настройку сеансов Firefox WebDriver с различными параметрами. Они отображаются в словарь возможностей, который передается на удаленный конец.
- Поскольку некоторые параметры, такие как firefox_profile и options.profile, являются взаимоисключающими, приоритет дается от того, насколько специфичен параметр. Возможности - это наименее конкретный аргумент ключевого слова, за которым следуют параметры, за которыми следуют firefox_binary и firefox_profile.
- На практике это означает, что если оба firefox_profile и options.profile установлены, то выбранный экземпляр профиля всегда будет исходить из наиболее конкретной переменной. В этом случае это будет firefox_profile. Это приведет к тому, что options.profile будет игнорироваться, поскольку он считается менее конкретным параметром, чем аргумент ключевого слова firefox_profile верхнего уровня. Точно так же, если бы вы указали возможность Base [строка [moz: firefoxOptions]] [«профиль»] Base64, она будет располагаться ниже options.profile.
Так что ваш Test Suite включает тестовых наборов с несколькими версиями GeckoDriver , опции , Профили Firefox и Возможности , вы всегда можете упомянуть их при инициализации нового экземпляра WebDriver и Просмотр веб-страниц сеанс.
Например, если вы поместите geckodriver.exe v0.21.0 в C:\\geckodriver_0_21_0\\
, вы можете указать следующее:
# Windows OS style
driver = webdriver.Firefox(executable_path=r'C:\geckodriver_0_21_0\geckodriver.exe')
# Linux OS style
driver = webdriver.Firefox(executable_path='path/to/geckodriver')