Ghostleg
Ghostleg

Reputation: 161

Chomedriver "The driver is not executable"

I have my chromedriver and chromedriver.exe right in project folder. I'm creating instance of driver with this code.

ChromeOptions options = new ChromeOptions();
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
LoggingPreferences log_prefs = new LoggingPreferences();
log_prefs.enable(LogType.BROWSER, Level.SEVERE);
capabilities.setCapability(CapabilityType.LOGGING_PREFS, log_prefs);
System.setProperty("webdriver.chrome.driver", "chromedriver");
driver = new ChromeDriver(capabilities);
driver.manage().window().maximize();

And it's ok on local windows (if we change "chromedriver" to "chromedriver.exe") , but when i'm running it on CentOS i got error message: "The driver is not executable".

Upvotes: 7

Views: 30852

Answers (5)

Satish Pericherla
Satish Pericherla

Reputation: 1

my driver files were in my eclipse project - resources folder. Funny thing - if you go to the driver and check the properties of chromedriver exe file. It did not have the execute permissions. set that and apply and close. I was good to go.

Upvotes: 0

Michelle
Michelle

Reputation: 1

I ran into this problem as well. The first two answers given worked for me but you can also resolve the permission issue by going to the file (gecko file) that you have in your folder, right click>>Properties and then change the permissions from there.

Upvotes: 0

sopan shirdhonkar
sopan shirdhonkar

Reputation: 1

I had same problems but in my case the everything was working fine but suddenly I started getting this error, so It wouldn't be access problem I thought.

So for reference to set the chrome driver or firefox driver I was using below snippet.

Utils.setSystemProperty("webdriver.chrome.driver",
                classLoader.getSystemResource("utilityJars" + File.separator + "chromedriver_mac").getPath());

I think case the path is in target folder when classes are compiled. So the value of

classLoader.getSystemResource("utilityJars" + File.separator + "chromedriver_mac").getPath()

is

/{user.dir}/target/classes/utilityJars/chromedriver_mac

So may be it had some issue accessing chromedriver on that path, may be not compiled or something not sure, but I just deleted the target folder and re-executed it and it worked.

Upvotes: 0

Nikhil Shah
Nikhil Shah

Reputation: 101

  1. If User is using Unix that time first checks folder or chromedriver permission.
  2. Permission is missing then use below command.
  3. chmod 777 *
  4. Above command change folder permission and Issue will resolve.

Upvotes: 1

German Petrov
German Petrov

Reputation: 1515

Make it executable: In CentOs use chmod +x chromedriver

Upvotes: 25

Related Questions