Using chromedriver with selenium/python/ubuntu

I am trying to execute some tests using chromedriver and have tried using the following methods to start chromedriver.

driver = webdriver.Chrome('/usr/local/bin/chromedriver')

and

driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')

and

import os
from selenium import webdriver
chromedriver = "/usr/local/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("")

But none of these seems to help and the error is : selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path.

I have checked multiple times and chromedriver is present in location /usr/local/bin.

Still my scripts are not working. Could any body pls help.

My google-chrome location is : /usr/bin/google-chrome

5

10 Answers

Following the suggestion from I was able to make it work like this:

  1. Installed the chromium-chromedriver:

    sudo apt-get install chromium-chromedriver
  2. Adding the path to the selenium line:

    driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")

Note that this opens Chromium and not Chrome. Hope it was helpful.

1

I have solved the issue in the following way:

  1. Open a terminal and type whereis chromedriver. In my case, I had the following output:

    chromedriver: /usr/local/bin/chromedriver

  2. Copy that path and edit your Webdriver instance like:

driver = webdriver.Chrome('/usr/local/bin/chromedriver')

That should be enough!

The following should normally work:

driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')

Note that in your question there was no preceding '/' in the path.

Additionally, make sure that the chromedriver executable located in /usr/local/bin/ has appropriate file permissions, i.e. that it can be executed:

> chmod 777 /usr/local/bin/chromedriver
2

As the message says: ChromeDriver executable needs to be available in the path.

So is it in the path? What is the output of:

$ cd
$ chromedriver --version

If you don’t see the version, chromedriver is definitively not in the PATH.

I don’t tell webdriver where to find chromedriver otherwise. – I use the Ubuntu package “chromium-chromedriver”, but it drops the binary in /usr/lib/chromium-browser/chromedriver, which is not in my PATH. So I put a soft link in /usr/bin.

Most probably you have not complete installing the chrome driver. I suggest you to install this with apt, Because apt installs all dependencies itself. The other answers are true; but in the last versions which installed "chromium-browser". but now this name is changed to "chromium-driver". so you shoulde install this:

apt-get install chromium-driver

this driver will be installed in /usr/bin and this name will be "chromedriver" so for import path to selenium use this path: /usr/bin/chromedriver:

driver = webdriver.Chrome('/usr/bin/chromedriver')
1

You need to make sure the standalone ChromeDriver binary is either in your path or available in the webdriver.chrome.driver environment variable and then try to use absolute path to that binary. Below is the code for java -

 File chromeDriver = new File("/usr/bin/chromedriver"); System.setProperty("webdriver.chrome.driver", chromeDriver.getAbsolutePath()); driver = new ChromeDriver();

Just pass the binary location as argument to it and not just the directory conatining it. So if it lies in /usr/bin directory, then run below command:

driver = webdriver.Chrome("/usr/bin/chromedriver")

This worked for me in ubuntu and adding path to bashrc is not working. Give it a try.

hope this will be useful for some who did like me. For my case i left preceding slash in the path did "home/user/chromedriver" instead of "/home/user/chromedriver"

For Mac users:

  1. brew install chromedriver.
  2. After installation ==> Linking Binary 'chromedriver' to '/usr/local/bin/chromedriver' will popup.
  3. From now on, you should be able refer to /usr/local/bin/chromedriver in the code.
  4. You might face Selenium Python: No such file or directory: '/usr/local/bin/chromedriver' but it exists and is added to path and/or Error message: "'chromedriver' executable needs to be available in the path". It's because brew install cask is required as well, as explained in .
  5. Again an error FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/chromedriver'? Try brew reinstall chromedriver and it was the first time brew reinstall chromedriver (got from Using Selenium on Mac Chrome) returned something different than chromedriver not found. Namely, /usr/local/bin/chromedriver :)
  6. The last issue I was facing was “chromedriver” cannot be opened because the developer cannot be verified. popup whenever I've tried to run the script. cd /usr/local/bin, then xattr -d com.apple.quarantine chromedriver (credits: MacOS Catalina(v 10.15.3): Error: “chromedriver” cannot be opened because the developer cannot be verified. Unable to launch the chrome browser) solves the problem, and the ChromeDriver finally ran.

It is enough to point out to the Chrome Browser driver on your machine. If you already have Chromium browser installed, then search for the driver:

sudo find / -type f -name chromedriver

then select the driver corresponding to your browser.

PS: for me it was

driver = webdriver.Chrome('/snap/chromium/1827/usr/lib/chromium-browser/chromedriver')

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like