Chrome : comment corriger l'erreur WebDriverException: unknown error: DevToolsActivePort file doesn't exist ?

La plateforme Selenium permet d'automatiser l'utilisation d'un navigateur web. Cela permet de réaliser des tests sur un site internet ou une application web sans devoir faire toutes les manipulations à la main. Cette plateforme peut piloter tous les principaux navigateurs du marché, y compris Google Chrome. Si lorsque vous lancez Google Chrome, vous obtenez le message d'erreur "WebDriverException: unknown error: DevToolsActivePort file doesn't exist", il est nécessaire de modifier certains paramètres de la session.

La version 66 de Google Chrome a des problèmes liés au démarrage d'une session avec Selenium. Pour corriger ce souci, il est nécessaire d'ajouter des paramètres supplémentaires lors du lancement de la session du navigateur. Vous devez ajouter le paramètre "--disable-dev-shm-usage" à votre session pour contourner le problème et pouvoir ainsi utiliser Google Chrome avec Selenium. Afin d'éviter des soucis avec les mesures de sécurité de votre système d'exploitation, il est conseillé d'ajouter l'option "--no-sandbox". Cette option indique au navigateur de ne pas se lancer dans un espace sécurisé au sein duquel il ne peut pas affecter le reste du système. Cette option permet ainsi au navigateur d'utiliser les ressources du système, ce qu'il ne peut pas faire s'il est lancé dans un container sécurisé.

System.setProperty("webdriver.chrome.driver", "C:\\chemin\\vers\\le\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized"); // Ouverture dans une fenêtre maximisée
options.addArguments("disable-infobars"); // Désactive la barre d'état
options.addArguments("--disable-extensions"); // Désactive les extensions
options.addArguments("--disable-gpu"); // Uniquement pour Windows
options.addArguments("--disable-dev-shm-usage"); // Résout le problème
options.addArguments("--no-sandbox"); // Enlève la protection du système
WebDriver driver = new ChromeDriver(options);
driver.get("https://ww.monsite.fr");

Android