Как сделать firefox без проблем программно в Selenium с помощью python?

Я запускаю этот код с помощью python, selenium и firefox, но все равно получаю "голова" версию firefox:

binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe', log_file=sys.stdout)
binary.add_command_line_options('-headless')
self.driver = webdriver.Firefox(firefox_binary=binary)

Я также попробовал несколько вариантов двоичного кода:

binary = FirefoxBinary('C:\\Program Files\\Nightly\\firefox.exe', log_file=sys.stdout)
        binary.add_command_line_options("--headless")

Ответ 1

Чтобы запустить браузер Firefox без заголовка, вы можете установить свойство headless через класс Options() следующим образом:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True
driver = webdriver.Firefox(options=options, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
driver.get("http://google.com/")
print ("Headless Firefox Initialized")
driver.quit()

Есть еще один способ выполнить безголовый режим. Если вам нужно отключить или включить режим автономной работы в Firefox без изменения кода, вы можете установить переменную окружения MOZ_HEADLESS в любое значение, если вы хотите, чтобы Firefox запускал без MOZ_HEADLESS, или не устанавливали его вообще.

Это очень полезно, когда вы используете, например, непрерывную интеграцию и хотите запускать функциональные тесты на сервере, но при этом можете запускать тесты в обычном режиме на вашем ПК.

$ MOZ_HEADLESS=1 python manage.py test # testing example in Django with headless Firefox

или же

$ export MOZ_HEADLESS=1   # this way you only have to set it once
$ python manage.py test functional/tests/directory
$ unset MOZ_HEADLESS      # if you want to disable headless mode

Outro

Как настроить ChromeDriver для запуска браузера Chrome в режиме без головы через Selenium?

Ответ 3

Первый ответ больше не работает.

Это сработало для меня:

from selenium.webdriver.firefox.options import Options as FirefoxOptions

options = FirefoxOptions()
options.add_argument("--headless")
driver = webdriver.Firefox(options=options)
driver.get("http://google.com")