import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;
import init.Constants;
public class TestSelenium {
private static WebDriver driver; public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+Constants.getChromeDriver()); driver = new ChromeDriver(); driver.get("https://www.google.com"); }
}
J'obtiens l'erreur comme ci-dessous
Démarrage de ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) sur le port 45163 Seules les connexions locales sont autorisées. Veuillez protéger les ports utilisés par ChromeDriver et les frameworks de test associés pour empêcher l'accès par un code malveillant.
Le navigateur Chrome s'ouvre mais l'URL ne s'affiche pas.
j'utilise
Pilote Chrome - 72.0.3626.69
WebDriver - 3.0
6 Réponses :
il ne s'ouvre pas car vous n'avez pas spécifié le chemin du fichier chromedriver.exe
veuillez trouver l'extrait de code ci-dessous.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class TestChrome { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "path of the exe file\\chromedriver.exe"); // Initialize browser WebDriver driver = new ChromeDriver(); // Open facebook driver.get("http://www.facebook.com"); // Maximize browser driver.manage().window().maximize(); } }
Vous avez mentionné l'utilisation du Chrome driver - 72.0.3626.69
mais l'erreur indique Starting ChromeDriver 2.46.628402
. Vérifiez si vous avez le bon pilote Chrome.
Les raisons possibles:
J'essaye toutes les versions - les journaux sont faux - mais j'utilise 3.14 - merci
Et la version java?
Java version 1.7.0_75 - Merci
Je suppose que la version Java pourrait être à l'origine du problème. J'utilise 11.0 et cela fonctionne sans aucun problème.
pas de chance. ressemble à quelque chose que le réseau du bureau bloque. Tout indice
Voulez-vous partager l'URL? Si ce n'est pas privé. Je peux vérifier rapidement. Et utilisez-vous un VPN?
Je ne peux pas ouvrir uniquement le site www.google.com.
Démarrage de ChromeDriver 72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38) sur le port 39433 Seules les connexions locales sont autorisées. Veuillez protéger les ports utilisés par ChromeDriver et les frameworks de test associés pour empêcher l'accès par un code malveillant.
Voici le chromedriver.log complet
L'exécutez-vous sur un nœud de grille? Essayez de lancer le nœud sur la machine locale et vérifiez s'il fonctionne?
Continuons cette discussion en chat .
Essayez d'abord de définir le chemin du pilote Chrome avant d'appeler le pilote Chrome.
System.setProperty("webdriver.chrome.driver", "path of the exe file\\chromedriver.exe"); driver = new ChromeDriver(); driver.get("https://www.google.com");
Vous pouvez utiliser la dépendance bonigarcia
pour votre automatisation. Ensuite, vous n'avez pas besoin de conserver chromedriver.exe
ou de configurer des variables système. Il fera automatiquement toutes les configurations pour toutes les plates-formes et tous les navigateurs.
import io.github.bonigarcia.wdm.*; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class DriverFactory { public static WebDriver getDriver() { WebDriverManager.chromedriver().setup(); return new ChromeDriver(); } }
Vous trouverez ci-dessous un exemple de classe pour obtenir une instance de navigateur Chrome. Vous pouvez modifier cette classe selon vos besoins.
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>3.3.0</version> </dependency>
J'ai testé cela avec Selenium 3.14.0
et Chrome Version 73.0.3683.86 (Official Build) (64-bit)
Essayez de définir les options de chrome:
ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("--whitelist-ip *"); chromeOptions.addArguments("--proxy-server='direct://'"); chromeOptions.addArguments("--proxy-bypass-list=*"); WebDriver driver = new ChromeDriver(chromeOptions);
Étape 1: Vérifiez la version de votre navigateur avec la version de votre pilote Web sur cette page: https://chromedriver.chromium.org/downloads
Étape 2: Si après avoir suivi l'étape ci-dessus jusqu'à ce que vous ayez le même problème, suivez la méthode ci-dessous:
public class TestSelenium { private static WebDriver driver; public static void main(String[] args) { System.setProperty("webdriver.chrome.driver","user.dir"); driver = new ChromeDriver(); driver.get("https://www.google.com"); } }
il vous manque l'utilisation du chemin défini pour chrome driver.exe System.setProperty ("webdriver.chrome.driver", "C: \\ Users \\ Des ktop \\ ChromeDriver \\ chromedriver.exe"); utiliser au-dessus du pilote = new ChromeDriver ();
Je l'ai fourni - désolé, ce n'est pas là dans le code ci-dessus. Merci
veuillez mettre à jour votre question avec la trace de pile d'erreur.
[1554105685.243] [INFO]: Lancement de chrome: "C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" --disable-background-networking --disable-client-side-phishing-detection - disable-default-apps --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-automation --enable-logging --force-fieldtrials = SiteIsolationExtensions / Control --ignore-certificate-errors --load-extension = "D: \ Users \ unccej \ AppData \ Local \ Temp \ scoped_ dir14196_3309 \ intern al" --log-level = 0 --metrics-recording-only --no-first-run --password-store = basic --remote
Pourquoi vous utilisez Constant.getChromePath (); ?
Il y a la classe Constants où je définis le chemin. Merci
@garlapak J'ai répondu à votre question et j'ai également utilisé Selenium 3.14.0
@OsandaDeshan - J'utilise uniquement Selenium 3.14.
@garlapak S'il vous plaît voir ma réponse ci-dessous