Java 中的 Chromedriver 不可执行
Chromedriver in Java not executable
所以我正在尝试学习 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 在正确的路径上,这是图像。
我假设您刚刚下载了 chromedriver 应用程序,在这种情况下,您只需 mark it as executable 在 Unix 中:
chmod +x chromedriver
如果您可以自己从终端 运行 应用程序,那么 WebDriver 应该也可以。
顺便说一下,我不会在您的项目中包含 chromedriver
:
- 您会想在其他项目中重复使用它
- 根据documentation:
include the ChromeDriver location in your PATH environment variable
可以通过 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.
问题恰恰出在目标目录中 chromedriver 的权限上。为了解决作者上面提到的问题,请将您的 chromedrive 初始化更改为以下内容:
System.setProperty(System.getProperty("user.dir") + "/src/test/resources/chromedriver");
当然是用你自己合适的目录来存放文件。
我是 selenium-java 的新手,遇到了同样的问题并通过在 eclipse 中提供如下可执行访问来解决:
- 右键单击 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 在正确的路径上,这是图像。
我假设您刚刚下载了 chromedriver 应用程序,在这种情况下,您只需 mark it as executable 在 Unix 中:
chmod +x chromedriver
如果您可以自己从终端 运行 应用程序,那么 WebDriver 应该也可以。
顺便说一下,我不会在您的项目中包含 chromedriver
:
- 您会想在其他项目中重复使用它
- 根据documentation:
include the ChromeDriver location in your PATH environment variable
可以通过 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.
问题恰恰出在目标目录中 chromedriver 的权限上。为了解决作者上面提到的问题,请将您的 chromedrive 初始化更改为以下内容:
System.setProperty(System.getProperty("user.dir") + "/src/test/resources/chromedriver");
当然是用你自己合适的目录来存放文件。
我是 selenium-java 的新手,遇到了同样的问题并通过在 eclipse 中提供如下可执行访问来解决:
- 右键单击 chromedriver 并单击属性
- 在资源选项卡下检查所有者 > 执行