Python + Browser with Mac: Error – 'chromedriver' executable needs to be in PATH

Question:

I did the following but came across the error:

selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’
executable needs to be in PATH. Please see
https://sites.google.com/a/chromium.org/chromedriver/home

from splinter import Browser

browser = Browser('chrome')

How can I go about resolving the issue using Mac?

Thank you in advance and will be sure to upvote/accept answer!

Asked By: Jo Ko

||

Answers:

The easiest way to resolve this is on a Mac is to:

brew install --cask chromedriver

Splinter and similar frameworks for browser automation rely on external modules being installed and callable in PATH.

Edit: chromedriver migrated from homebrew/core to homebrew/cask

Answered By: brennan

brew cask install chromedriver

The current working command to install chromedriver from brew, since the previously accepted answer has been outdated unfortunately.

This then needs to be paired with your selinium code :

chrome_path = r'/usr/local/bin/chromedriver' #path from 'which chromedriver'
driver = webdriver.Chrome(executable_path=chrome_path)

or 

import os 

driver = webdriver.Chrome(executable_path=os.popen('which chromedriver').read().strip())

Note: you may also need to do :
brew cask install google-chrome

or

brew install --cask chromedriver

depending on your version of brew.

Answered By: user2589273

Follow these three steps and you are all set !!!

  1. Change the permission of the exe file to read/write for the user you are using to execute the file.

  2. Check the version of the driver is same as that of your browser

  3. Also don’t give .exe in the python path(just provide upto the chromedriver in the path)

example:

driver = webdriver.Chrome(executable_path="/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/chrome/chromedriver")
Answered By: Debaleena Banik
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.