131 votes

Comment configurer ChromeDriver pour lancer le navigateur Chrome en mode Headless via Selenium ?

Je travaille sur un script python pour le web-scrape et j'ai pris le chemin d'utiliser Chromedriver comme l'un des paquets. J'aimerais que cela fonctionne en arrière-plan sans fenêtres pop-up. J'utilise l'option 'headless' sur Chromedriver et cela semble faire l'affaire en n'affichant pas la fenêtre du navigateur, cependant, je vois toujours le fichier .exe s'exécuter. Voir la capture d'écran de ce dont je parle. Capture d'écran

Voici le code que j'utilise pour lancer ChromeDriver :

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
options.add_argument('headless')
options.add_argument('window-size=0x0')
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe"

J'ai essayé de modifier la taille de la fenêtre dans les options en la fixant à 0x0, mais je ne suis pas sûr que cela ait eu un effet puisque le fichier .exe s'affiche toujours.

Avez-vous une idée de la façon dont je peux faire cela ?

J'utilise Python 2.7 pour information.

0 votes

9 votes

@Basj Cette question a un an de plus que la question que vous avez liée. En fait, la question liée serait un doublon possible de celle-ci.

0voto

user5443130 Points 1
chromeoptions=add_argument("--no-sandbox");
add_argument("--ignore-certificate-errors");
add_argument("--disable-dev-shm-usage'")

n'est pas un navigateur pris en charge

solution :

Open Browser    ${event_url}    ${BROWSER}   options=add_argument("--no-sandbox"); add_argument("--ignore-certificate-errors"); add_argument("--disable-dev-shm-usage'")

n'oubliez pas d'ajouter des espaces entre ${BROWSER} options

2 votes

Pouvez-vous expliquer votre réponse ?

0voto

Il existe une option permettant de masquer la fenêtre chromeDriver.exe dans les versions alpha et bêta de Selenium 4.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService # Similar thing for firefox also!
from subprocess import CREATE_NO_WINDOW # This flag will only be available in windows
chrome_service = ChromeService('chromedriver', creationflags=CREATE_NO_WINDOW)
driver = webdriver.Chrome(service=chrome_service) # No longer console window opened, niether will chromedriver output

Vous pouvez le consulter sur ici . Pour que pip installe les versions beta ou alpha, vous pouvez faire "pip install selenium==4.0.0.a7" ou "pip install selenium==4.0.0.b4" (a7 signifie alpha-7 et b4 signifie beta-4 donc pour les autres versions que vous voulez, vous pouvez modifier la commande). Pour importer une version spécifique d'une bibliothèque dans python, vous pouvez regarder ici .

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