Java Sélénium Chromedriver.exe il N'Existe pas exception IllegalStateException
Voici le message d'erreur que je reçois:
Exception in thread "main" java.lang.IllegalStateException: The driver executable does not exist: C:\Users\Scott\workspace\Twitch%20Bot%20v2\bin\chromedriver.exe
at com.google.common.base.Preconditions.checkState(Preconditions.java:197)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:122)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:117)
at org.openqa.selenium.chrome.ChromeDriverService.access$0(ChromeDriverService.java:1)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:118)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:291)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:82)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:117)
at com.fatalcubez.main.Bot.setup(Bot.java:41)
at com.fatalcubez.main.Bot.<init>(Bot.java:29)
at com.fatalcubez.main.BotGUI.<init>(BotGUI.java:17)
at com.fatalcubez.main.Main.main(Main.java:14)
Et voici le code que j'utilise:
ClassLoader loader = ClassLoader.getSystemClassLoader();
URL path = loader.getResource("chromedriver.exe");
System.setProperty("webdriver.chrome.driver", path.getPath());
J'ai déjà vérifier le répertoire de l'endroit où il est à la recherche pour le chromedriver et il est là. Je ne suis pas sûr de ce que le problème est à ce point. Toute aide serait super!
EDIT: C'était tout simplement un problème avec de l'espace dans le nom du dossier, mais maintenant j'ai un autre problème. Lorsque j'essaie de lancer chrome, il dit: "Un administrateur a installé chrome sur cet ordinateur...." Que puis-je faire?
Vous devez vous connecter pour publier un commentaire.
Vous devez donner à vos chromeDriver.exe chemin d'accès du fichier au lieu de prendre le chemin de l'URL.
exemple:
Note - écrire le chromedriver sans mention .exe (Dans Ubuntu et Mac)
Télécharger le chromedriver:
chromedriver lien
À partir d'ici décompressez le dossier et copier choromedriver.exe en c maintenant définir le chemin d'accès comme
Localiser votre chrome fichier de pilote ( pour windows) dans le lecteur C en vertu de l'utilisateur et le nom de votre appareil. À l'aide de n'importe quel dossier et de les diriger vers ce chemin d'accès ne fonctionne pas.
System.setProperty("webdriver.chrome.driver","C:\\Users\\hp\\chromedriver.exe");
Cela fonctionne pour moi, et je pense que la raison est que le pilote va rechercher le chemin d'accès qui identifie votre ordinateur, par exemple un dossier par défaut où ils rechercher, comme il le fera plus de temps pour rechercher les dossiers aléatoires et peuvent créer des erreurs lorsque vous avez plusieurs copies de ce
chromedriver.exe
fichier que j'avais. Merci, j'espère que ça fonctionne!Une autre chose à ajouter, lors de l'utilisation de chromedriver avec windows, vous devez inclure .exe de vos systèmes d'appel de propriétés.
valide appel :
System.setProperty("webdriver.chrome.driver", "res/chromedriver.exe");
invalide appel :
System.setProperty("webdriver.chrome.driver", "res/chromedriver");
Vous pouvez ajouter l'adresse de chrome pilote exe dans votre code:
ou vous pouvez directement copier coller l'exe de chrome pilote dans vous de l'espace de travail (
C:\Users\Scott\workspace\Twitch Bot v2\bin\
)Cela a fonctionné pour moi:
Mais j'ai eu l'erreur inconnue: