scraping libreria python python-3.x selenium selenium-webdriver firefox-headless

libreria - ¿Cómo hacer que Firefox no tenga cabeza mediante programación en Selenium con Python?



selenium scraping (3)

Estoy ejecutando este código con python, selenium y firefox pero todavía obtengo 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")


La primera respuesta ya no funciona.

Esto funcionó para mí:

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



Para invocar el navegador Firefox sin cabeza, puede establecer la propiedad headless través de 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 forma 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 configure en absoluto.

Esto es muy útil cuando utiliza, por ejemplo, la 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

Outro

¿Cómo configurar ChromeDriver para iniciar el navegador Chrome en modo sin cabeza a través de Selenium?