webentwicklung-frage-antwort-db.com.de

Wenn Sie WebDriver mit Chrome-Browser ausführen, erhalten Sie die Meldung "Nur lokale Verbindungen sind zulässig", obwohl der Browser ordnungsgemäß gestartet wird

Wenn ich den Chrome-Browser mit WebDriver starte, erhalte ich folgende Meldung in der Konsole. Bitte lassen Sie mich wissen, wie ich es lösen kann. 

"ChromeDriver (v2.10.267521) an Port 22582 starten" "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();
    }
}
66
user3899403

Dies ist nur eine Informationsnachricht. Die Nachricht sagt Ihnen, dass die Chromedriver-Programmdatei nur Verbindungen von der lokalen Maschine akzeptiert.

Die meisten Treiberimplementierungen (der Chrome-Treiber und der IE -Treiber) erstellen einen HTTP-Server. Alle Sprachbindungen (Java, Python, Ruby, .NET usw.) verwenden ein JSON-over-HTTP-Protokoll, um mit dem Treiber zu kommunizieren und den Browser zu automatisieren. Da der HTTP-Server lediglich einen offenen Port auf HTTP-Anforderungen überwacht, die von den Sprachbindungen generiert werden, dürfen Verbindungen zum HTTP-Server, die von den Sprachbindungen gestartet werden, nur von anderen Prozessen auf demselben Host stammen. Beachten Sie sorgfältig, dass diese Einschränkung nicht für Verbindungen gilt, die der browser mit externen Websites herstellen kann. Vielmehr verhindert es einfach eingehende Verbindungen von anderen Websites.

84
JimEvans

Ich habe genau die gleichen Fehler bekommen. Ich habe heute einige Stunden mit diesem Thema gekämpft. Dies schien auf ein Missverhältnis zwischen den Versionen von Chromedriver und Selenium-Server-Standalone zurückzuführen zu sein. Die Datei config.js verwies auf ein Verzeichnis mit Chromedriver 2.9 und Selenium-Server-Standalone 2.35.0. Sobald ich sicher war, dass wir auf 2.10 und 2.42.2 verweisen, hat es funktioniert.

11

Nicht unbedingt die bewährte Methode, aber meine Umgebung war ein lokales Netzwerk mit mehreren Maschinen, die Zugriff auf das Selenium benötigten. 

Wenn Sie den Chromedriver ausführen, können Sie einen Parameter wie folgt durchlaufen:

chromedriver --whitelisted-ips=""

Dies wird im Grunde alle IP-Adressen auf die Whitelist setzen, was natürlich nicht immer eine ideale Lösung ist, und seien Sie vorsichtig bei Produktionsumgebungen. 

ChromeDriver 2.16.333244 starten (15fb740a49ab3660b8f8d496cfab2e4d37c7e6ca) auf Port 9515 Alle entfernt Verbindungen sind erlaubt. Verwenden Sie stattdessen eine Whitelist!

Eine Umgehung am besten, aber es funktioniert. 

Relativer Check-In

7
Pogrindis

Dies geschah bei mir, als ich ein altes Projekt reparieren musste, das seit einiger Zeit nicht mehr betrachtet wurde. Der Chromedriver, der mit dem Projekt verbunden ist, war mit meiner Chromversion nicht kompatibel. Wenn ich also den Chromedriver aktualisiert habe, funktionierte er einwandfrei.

4
Cawmag

Dieser Fehler tritt sehr oft auf, wenn Sie nicht kompatible Versionen von Selenium und ChromeDriver verwenden.

Selen 3.0.1 für das Maven-Projekt:

    <dependency>
        <groupId>org.seleniumhq.Selenium</groupId>
        <artifactId>Selenium-Java</artifactId>
        <version>3.0.1</version>
    </dependency>

ChromeDriver 2.27: https://sites.google.com/a/chromium.org/chromedriver/downloads

1

Dies ist nur eine Informationsnachricht. Wenn sich Ihre Testskripte und Ihr Chromedriver auf demselben Computer befinden, bedeutet dies nichts. Dann ist es möglich, die Option "Whitelisted-ips" hinzuzufügen

1
Vicky

Ich habe diesen Fehler durch die Installation des Browsertreibers behoben:

  1. Navigieren Sie mit Ihrem Browser zur Website seleniumhq.org
  2. Wählen Sie die Registerkarte Downloads
  3. Blättern Sie nach unten zum Browser-Bereich und laden Sie den gewünschten Treiber herunter, indem Sie auf den Link klicken, beispielsweise Google Chrome Driver
  4. Doppelklicken Sie auf die heruntergeladene Datei, z. B. chromedriver_mac64 (1) .Zip
  5. Doppelklicken Sie auf die extrahierte Datei, z. B. Chromedriver

Referenz: Durchsuchen Sie YouTube.com nach dem Fehler

Plattform: macOS High Sierra 10.13.3

0
Red Rooster

Ich musste meine Befehle im one and same terminal ausführen, nicht separat.

Nohup Sudo Xvfb :10 -ac
export DISPLAY=:10
Java -jar vendor/se/Selenium-server-standalone/bin/Selenium-server-standalone.jar -Dwebdriver.chrome.bin="/usr/bin/google-chrome" -Dwebdriver.chrome.driver="vendor/bin/chromedriver"
0
Harry Bosh