¿Cómo hacer que Firefox sin cabeza programáticamente en Selenium con python?

Estoy ejecutando este código con python, selenium y firefox, pero aún tengo la versión ‘head’ de 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) 

También probé algunas variaciones de binario:

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

Para invocar el navegador Firefox sin cabeza, puede configurar la propiedad headless mediante la clase Options() la siguiente manera:

 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() 

Hay otra manera de lograr el modo sin cabeza. Si necesita deshabilitar o habilitar el modo sin cabeza en Firefox, sin cambiar el código, puede establecer la variable de entorno MOZ_HEADLESS en lo que sea si desea que Firefox se ejecute sin cabeza, o no lo haga.

Esto es muy útil cuando está utilizando, por ejemplo, integración continua y desea ejecutar las pruebas funcionales en el servidor, pero aún así puede ejecutar las pruebas en modo normal en su PC.

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

o

 $ 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 

Mi respuesta:

 set_headless(headless=True) is deprecated. 

https://seleniumhq.github.io/selenium/docs/api/py/webdriver_firefox/selenium.webdriver.firefox.options.html

 options.headless = True 

funciona para mi