Je suis connecté au VPN via ma machine locale et j'essaie d'exécuter un script Selenium sur le navigateur chrome, puis j'obtiens l'erreur suivante:
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[1553947986.711][WARNING]: Timed out connecting to Chrome, retrying...
[1553947990.713][WARNING]: Timed out connecting to Chrome, retrying...
[1553947998.713][WARNING]: Timed out connecting to Chrome, retrying...
[1553948014.713][WARNING]: Timed out connecting to Chrome, giving up.
[1553948016.724][WARNING]: Timed out connecting to Chrome, retrying...
[1553948020.724][WARNING]: Timed out connecting to Chrome, retrying...
[1553948028.727][WARNING]: Timed out connecting to Chrome, retrying...
[1553948044.730][WARNING]: Timed out connecting to Chrome, giving up.
Cela ne se produit que lorsque je veux exécuter le script via VPN, sans VPN, le script fonctionne correctement. Pour le navigateur Firefox, ne rencontrez pas le problème ci-dessus
J'étais également confronté à ce problème depuis la semaine dernière. J'ai beaucoup cherché et essayé différentes approches pour résoudre ce problème. Le code ci-dessous (pseudo-code) m'a aidé à résoudre le problème. Mon approche:
Fermez l'instance de processus (process.destroy ())
try { process = new ProcessBuilder("path of the chromedriver.exe").start(); } catch (IOException e1) { e1.printStackTrace(); } System.setProperty("webdriver.chrome.driver", "path of the chromedriver.exe"); ChromeOptions options = new ChromeOptions(); try { driver = new RemoteWebDriver(new URL("http://127.0.0.1:9515"), options); } catch (MalformedURLException e) { e.printStackTrace(); } // maximize browser // delete All Cookies // page Load Timeout // implicitly Wait // navigating to the url // run the test scripts // close the driver // close the process
J'espère que cela résoudra également votre problème. Si vous rencontrez un problème, faites-le moi savoir.
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--whitelist-ip *");
chromeOptions.addArguments("--proxy-server='direct://'");
chromeOptions.addArguments("--proxy-bypass-list=*");
WebDriver driver = new ChromeDriver(chromeOptions);
Vous pouvez également spécifier l'adresse IP ici.
La désactivation d'IPv6 a résolu ce problème pour moi. Sur macOS: networksetup -setv6off Wi-Fi
J'ai également dû supprimer ::1 localhost
à partir de mon fichier d'hôtes.