所以我试图学习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");
答案 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 中提供如下可执行访问来解决: