Wenn ich den Chrome-Browser mit WebDriver ausführe, wird auf der Konsole die folgende Meldung angezeigt. Bitte lassen Sie mich wissen, wie ich es lösen kann.
"Starten von ChromeDriver (v2.10.267521) über Port 22582" "Nur lokale Verbindungen sind zulässig."
Hier ist mein Beispielcode:
public class Browserlaunch {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32 \\chromedriver.exe");
WebDriver driver = new ChromeDriver() ;
driver.get("http://webdunia.com");
driver.close();
driver.quit();
}
}
quelle
Not secure data:,
In diesem Sinne ist dies ein Problem. Hast du eine Idee warum?Ich habe genau die gleichen Fehler bekommen. Ich habe heute ein paar Stunden gegen dieses Problem gekämpft. Es schien durch eine Nichtübereinstimmung zwischen den Versionen von Chromedriver und Selenium-Server-Standalone verursacht zu werden. Die Datei config.js verweist auf ein Verzeichnis mit chromedriver 2.9 und selenium-server-standalone 2.35.0. Nachdem ich sichergestellt hatte, dass wir auf 2.10 und 2.42.2 verweisen, funktionierte es.
quelle
Nicht unbedingt die beste Vorgehensweise, aber meine Umgebung war ein lokales Netzwerk mit mehreren Maschinen, die Zugriff auf das Selen benötigten.
Wenn Sie den Chromedriver ausführen, können Sie einen Parameter wie folgt durchlaufen:
chromedriver --whitelisted-ips=""
Dies wird im Grunde alle IPs auf die Whitelist setzen, was natürlich nicht immer eine ideale Lösung ist, und Sie sollten damit vorsichtig sein, wenn es um die Produktion geht. Sie sollten jedoch eine ausführliche Warnung erhalten:
Bestenfalls eine Umgehung, aber es funktioniert.
Relativer Check-in
quelle
Dies passierte mir, als ich ein altes Projekt reparieren musste, das seit einiger Zeit nicht mehr angeschaut worden war. Der dem Projekt zugeordnete Chromedriver war nicht mit meiner Chrome-Version kompatibel. Als ich den Chromedriver aktualisierte, funktionierte er einwandfrei.
quelle
Dies ist nur eine Informationsnachricht. Es bedeutet nichts, wenn sich Ihre Testskripte und Ihr Chromedriver auf demselben Computer befinden. Dann können Sie die Option "Whitelisted-IP" hinzufügen. Ihr Test wird einwandfrei ausgeführt. Wenn Sie jedoch Chromedriver in einem Grid-Setup verwenden, wird diese Meldung nicht angezeigt
quelle
Ich musste meine Befehle im selben Terminal ausführen , nicht separat.
quelle
Sehr oft tritt dieser Fehler auf, wenn Sie inkompatible Versionen von Selenium und ChromeDriver verwenden.
Selen 3.0.1 für das Maven-Projekt:
ChromeDriver 2.27: https://sites.google.com/a/chromium.org/chromedriver/downloads
quelle
Chromedriver ist ein WebDriver. WebDriver ist ein Open-Source-Tool zum automatisierten Testen von Webanwendungen in vielen Browsern. Es bietet Funktionen zum Navigieren zu Webseiten, Benutzereingaben, zur Ausführung von JavaScript und mehr. Wenn Sie diesen Treiber ausführen, können Ihre Skripts darauf zugreifen und Befehle in Google Chrome ausführen.
Dies kann über Skripte erfolgen, die im lokalen Netzwerk ausgeführt werden (
Only local connections are allowed.
) oder über Skripte, die in externen Netzwerken ausgeführt werden (All remote connections are allowed.
). Es ist immer sicherer, die Option Lokale Verbindung zu verwenden. Standardmäßig ist Ihr Chromedriver über den Port erreichbar9515
.Um die Frage zu beantworten, handelt es sich nur um eine Informationsnachricht. Sie müssen sich keine Sorgen machen.
Im Folgenden sind beide Optionen angegeben.
Dies erfolgt durch Whitelist aller IPs.
quelle
Nach stundenlanger Analyse beim Lesen von Tonnen von Protokollen und Quellcode wurde schließlich ein Problem festgestellt. Und es ist ziemlich einfach, es zu lösen.
in einer einzigen Zeile: Sie müssen --whitelisted-ips = an ausführbare Dateien des Chrome-Treibers (nicht Chrome!) übergeben
Sie können dies auf verschiedene Arten tun:
Wenn Sie ChromeDriver lokal / direkt aus Code verwenden, fügen Sie einfach die folgenden Zeilen vor ChromeDriver init ein
Wenn Sie es remote verwenden (z. B. Selenium Hub / Grid), müssen Sie beim Starten des Knotens die Systemeigenschaft festlegen, wie im Befehl:
oder Docker durch Passieren von
JAVA_OPTS
envquelle
Ich habe diesen Fehler durch die Installation des Browsertreibers behoben:
Referenz: Durchsuche YouTube.com nach dem Fehler
Plattform: macOS High Sierra 10.13.3
quelle