2016-02-19 77 views
2

所以我想學習硒並遇到問題。 無法運行chromedriver。Java中的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

回答

6

我假設你剛剛下載的chromedriver應用,在這種情況下,你只需要mark it as executable在Unix中:

chmod +x chromedriver 

如果你可以運行自己從終端應用程序,然後webdriver的應該能以及。

順便說一句,我將不包括chromedriver您的項目中:

  • 你會想重新使用它在其他項目上
  • 按照documentation

include the ChromeDriver location in your PATH environment variable

1

基於Unix的文件的文件權限可以通過java來檢查和設置:

檢查文件權限允許:

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.