web-dev-qa-db-fra.com

Lors de l'exécution de WebDriver avec le navigateur Chrome, le message "Seules les connexions locales sont autorisées" même si le navigateur démarre correctement

Lorsque j'exécute le navigateur Chrome avec WebDriver, le message suivant s'affiche sur la console. S'il vous plaît laissez-moi savoir comment le résoudre. 

"Démarrage de ChromeDriver (v2.10.267521) sur le port 22582" "Seules les connexions locales Sont autorisées."

Voici mon exemple de code:

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

Il s'agit d'un message d'information uniquement. Le message vous dit que l'exécutable chromedriver n'accepte que les connexions de la machine locale.

La plupart des implémentations de pilotes (le pilote Chrome et le pilote IE bien sûr) créent un serveur HTTP. Les liaisons de langage (Java, Python, Ruby, .NET, etc.) utilisent toutes un protocole JSON sur HTTP pour communiquer avec le pilote et automatiser le navigateur. Comme le serveur HTTP écoute simplement sur un port ouvert les requêtes HTTP générées par les liaisons de langue, les connexions au serveur HTTP démarrées par les liaisons de langue ne peuvent provenir que d'autres processus du même hôte. Notez bien que cette limitation ne s’applique pas aux connexions que browser peut établir avec des sites Web externes; cela empêche simplement les connexions entrantes depuis d'autres sites Web.

84
JimEvans

Je recevais exactement les mêmes erreurs. J'ai lutté contre ce problème pendant quelques heures aujourd'hui. Cela semblait être dû à un décalage entre les versions de chromedriver et de Selenium-server-standalone. Le fichier config.js faisait référence à un répertoire contenant chromedriver 2.9 et Selenium-server-standalone 2.35.0. Une fois que je me suis assuré que nous faisions référence aux versions 2.10 et 2.42.2, cela a fonctionné.

11
newToSeleniumMate

Ce n’est pas nécessairement la meilleure pratique, mais mon environnement était un réseau local avec plusieurs machines nécessitant un accès à Selenium. 

Lors de l’exécution du chromedriver, vous pouvez passer par un paramètre comme suit:

chromedriver --whitelisted-ips=""

Ce sera essentiellement la liste blanche de tous les IP, pas toujours une solution idéale et soyez prudent avec cela pour les environnements de production, mais vous devriez être présenté avec un avertissement verbeux: 

Démarrage de ChromeDriver 2.16.333244 (15fb740a49ab3660b8f8d496cfab2e4d37c7e6ca) sur le port 9515 Tous les ports distants les connexions sont autorisées. Utilisez plutôt une liste blanche!

Un contournement au mieux, mais ça marche. 

Enregistrement relatif

7
Pogrindis

Cela m’arrivait quand je devais réparer un vieux projet qui n’avait pas été examiné depuis un moment. Le chromedriver associé au projet n’était pas compatible avec ma version de chrome. Ainsi, lorsque j’ai mis à jour le chromedriver, cela fonctionnait bien.

4
Cawmag

Très souvent, cette erreur apparaît si vous utilisez des versions incompatibles de Selenium et de ChromeDriver.

Selenium 3.0.1 pour le projet Maven:

    <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
Vitali Nikolaenko

Il s'agit d'un message d'information uniquement. Cela ne signifie rien si vos scripts de test et chromedriver sont sur la même machine, il est donc possible d'ajouter l'option "liste blanche". Votre test se déroulera correctement. Cependant, si vous utilisez chromedriver dans une configuration de grille, ce message

1
Vicky

J'ai résolu cette erreur en installant le pilote du navigateur:

  1. Accédez à votre site Web seleniumhq.org
  2. Sélectionnez l'onglet Téléchargements
  3. Faites défiler la page jusqu'à la section Navigateur et téléchargez le pilote souhaité en cliquant sur le lien, par exemple Pilote Google Chrome
  4. Double-cliquez sur le fichier téléchargé, par exemple chromedriver_mac64 (1) .Zip.
  5. Double-cliquez sur le fichier extrait, par exemple, chromedriver.

Référence: recherchez l'erreur sur YouTube.com

Plate-forme: macOS High Sierra 10.13.3

0
Red Rooster

Je devais exécuter mes commandes dans le un et même terminal, pas séparément.

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