Java中的Chromedriver不可执行

时间:2016-02-19 15:37:25

标签: java selenium-webdriver selenium-chromedriver

所以我试图学习Selenium并遇到问题。 无法运行chromedriver。

错误:

Exception in thread "main" java.lang.IllegalStateException: The driver is not executable: /Users/Roberto/Documents/EclipseProjects/MansPirmaisSelenium/lib/chromedriver

代码:

System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"//lib//chromedriver");
WebDriver chromeDriver = new ChromeDriver();
chromeDriver.get("http://www.google.lv");

我想我的chromedriver在正确的道路上,这是图像。 enter image description here

4 个答案:

答案 0 :(得分:7)

我假设你刚刚下载了chromedriver应用程序,在这种情况下你只需要在Unix中mark it as executable

chmod +x chromedriver 

如果你可以自己从终端运行应用程序,那么WebDriver也应该能够。

顺便说一下,我不会在您的项目中包含chromedriver

  

在您的PATH环境变量中包含ChromeDriver位置

答案 1 :(得分:1)

可以通过java检查和设置基于Unix的文件的文件权限,如:

检查文件权限是否允许:

file.canExecute(); – return true, file is executable; false is not.
file.canWrite(); – return true, file is writable; false is not.
file.canRead(); – return true, file is readable; false is not.

设置文件权限:

file.setExecutable(boolean); – true, allow execute operations; false to disallow it.
file.setReadable(boolean); – true, allow read operations; false to disallow it.
file.setWritable(boolean); – true, allow write operations; false to disallow it.

答案 2 :(得分:0)

问题恰恰在于目标目录中chromedriver的权限。为了解决上述作者的问题,请将chromedrive初始化更改为以下内容:

System.setProperty(System.getProperty("user.dir") + "/src/test/resources/chromedriver");

当然使用您自己的适当目录到文件。

答案 3 :(得分:0)

我是 selenium-java 的新手,遇到了同样的问题,并通过在 eclipse 中提供如下可执行访问来解决:

  1. 右键单击 chromedriver 并单击属性
  2. 在资源选项卡下检查所有者> 执行