168 votes

Comment rendre Firefox headless de manière programmatique dans Selenium avec Python ?

J'exécute ce code avec python, selenium et firefox mais j'obtiens toujours la version '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)

J'ai aussi essayé quelques variations du binaire :

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

2 votes

Je voulais juste ajouter que votre version de Firefox devrait être 56+ pour que cela fonctionne. Il m'a fallu un certain temps pour comprendre pourquoi les solutions proposées ne fonctionnaient pas sur le mien. developer.mozilla.org/en-US/Firefox/Headless_mode

3voto

Abhijit Kokane Points 68
from selenium.webdriver.firefox.options import Options

if __name__ == "__main__":
    options = Options()
    options.add_argument('-headless')
    driver = Firefox(executable_path='geckodriver', firefox_options=options) 
    wait = WebDriverWait(driver, timeout=10)
    driver.get('http://www.google.com')

Testé, fonctionne comme prévu et ceci à partir de Officiel - Mode sans tête | Mozilla

1voto

TomasH Points 192

Juste une note pour les personnes qui auraient trouvé ceci plus tard (et qui veulent un moyen java de réaliser ceci) ; FirefoxOptions est également capable d'activer le mode sans tête :

FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setHeadless(true);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X