Java Selenium Chromedriver.exe不存在IllegalStateException

FaT*_*bez 7 java selenium

这是我收到的错误消息:

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)
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码:

ClassLoader loader = ClassLoader.getSystemClassLoader();
        URL path = loader.getResource("chromedriver.exe");
        System.setProperty("webdriver.chrome.driver", path.getPath());
Run Code Online (Sandbox Code Playgroud)

我已经检查了它在哪里搜索chromedriver的目录,它就在那里.我不确定此时的问题是什么.任何帮助都会很棒!

编辑:这只是文件夹名称中的间距问题,但现在我有另一个问题.当我尝试启动chrome时,它说"管理员已经在这台计算机上安装了chrome ......"我该怎么办?

Sar*_*a G 11

您必须提供chromeDriver.exe文件路径,而不是从URL获取路径.

例:

 System.setProperty("webdriver.chrome.driver",
            "C:\\Downloads\\chromedriver.exe");
Run Code Online (Sandbox Code Playgroud)


小智 11

System.setProperty("webdriver.chrome.driver",
            "/home/vin/Downloads/chromedriver");
Run Code Online (Sandbox Code Playgroud)

注意 - 写一下chromedriver而不提.exe(在UbuntuMac中)