Java Selenium Chromedriver.exe 不存在 IllegalStateException

新手上路,请多包涵

这是我收到的错误消息:

 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)

这是我正在使用的代码:

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

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

编辑:这只是文件夹名称中的间距问题,但现在我有另一个问题。当我尝试启动 chrome 时,它显示“管理员已在此计算机上安装 chrome…”,我该怎么办?

原文由 Scooter 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 567
2 个回答

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

例子:

  System.setProperty("webdriver.chrome.driver",
            "C:\\Downloads\\chromedriver.exe");

原文由 Saritha G 发布,翻译遵循 CC BY-SA 3.0 许可协议

System.setProperty("webdriver.chrome.driver",
            "/home/vin/Downloads/chromedriver");

注意 - 编写 chromedriver 时不要提及 .exe(在 UbuntuMac 中)

原文由 vinee 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题