Java Selenium Chromedriver.exe不存在IllegalStateException

时间:2015-06-06 22:52:14

标签: 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)

以下是我正在使用的代码:

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

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

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

9 个答案:

答案 0 :(得分:9)

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

注意 - 编写chromedriver而不提及.exe(在 Ubuntu Mac

答案 1 :(得分:8)

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

示例:

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

答案 2 :(得分:0)

下载chromedriver:

chromedriver link

从这里解压缩文件夹并将coromedriver.exe复制到c现在设置的路径中,如

sample image

答案 3 :(得分:0)

在用户和设备名称下的C驱动器中找到chrome驱动程序文件(对于Windows)。使用任何随机文件夹并定向到该路径均无效。

Button: text: "If I press this, it will turn the values back to 3" on_release: app.root.get_screen("screen1").ids.slider1.value = 3 app.root.get_screen("screen2").ids.slider2.value = 3

这对我有用,我认为原因是,驱动程序将搜索标识您的PC的路径,例如他们搜索的默认文件夹,因为搜索随机文件夹会更加耗时,并且当您像我一样拥有该System.setProperty("webdriver.chrome.driver","C:\\Users\\hp\\chromedriver.exe");文件的多个副本时,会产生错误。谢谢,希望它能起作用!

答案 4 :(得分:0)

要添加的另一件事是,当在Windows中使用chromedriver时,必须在系统属性调用中包含.exe。

有效通话:System.setProperty("webdriver.chrome.driver", "res/chromedriver.exe");

无效通话:System.setProperty("webdriver.chrome.driver", "res/chromedriver");

答案 5 :(得分:0)

能否请您帮忙...。我遇到相同的错误:

这是我的代码

package standardCheckout;

导入org.openqa.selenium.WebDriver; 导入org.openqa.selenium.chrome.ChromeDriver;

公共类登录{ 公共静态void主(String [] arg){     System.setProperty(“ webdriver.chrome.driver”,“ /Users⁩/⁨namita⁩/⁨seleniumdrivers/ chromedriver”);     WebDriver驱动程序=新的C​​hromeDriver(); }

}

文件的路径: MacintoshHD⁩▸⁨用户⁩▸⁨namita⁩▸⁨seleniumdrivers⁩▸chromedriver

错误 线程“主”中的异常java.lang.IllegalStateException:驱动程序可执行文件不存在:/Users⁩/⁨namita⁩/⁨seleniumdrivers/ chromedriver     在com.google.common.base.Preconditions.checkState(Preconditions.java:585)     在org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:146)     在org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:141)     位于org.openqa.selenium.chrome.ChromeDriverService.access $ 000(ChromeDriverService.java:35)     在org.openqa.selenium.chrome.ChromeDriverService $ Builder.findDefaultExecutable(ChromeDriverService.java:159)     在org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:355)     在org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94)     在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:123)     在standardCheckout.Login.main(Login.java:9)

答案 6 :(得分:0)

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

导航到此路径,右键单击并打开chromedriver.exe,然后打开一个弹出窗口。取消选中“打开前始终询问”。 这对我有用

答案 7 :(得分:-1)

您可以在代码中添加chrome driver exe的地址:

System.setProperty("webdriver.chrome.driver",
        "/path where exe is present/chromedriver.exe");

或者您可以直接复制粘贴工作区(C:\Users\Scott\workspace\Twitch Bot v2\bin\

中的chrome驱动程序的exe

答案 8 :(得分:-1)

这对我有用:

unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"686.1","isDefault":true},"id":1,"name":"","origin":"://"}
  (Session info: chrome=58.0.3029.110)

但是我得到了未知的错误:

{{1}}