Error message: "'chromedriver' executable needs to be available in the path"
On Ubuntu:
sudo apt install chromium-chromedriver
On Debian:
sudo apt install chromium-driver
On macOS install Homebrew then do
brew install --cask chromedriver
For Linux and OSX
Step 1: Download chromedriver
# You can find more recent/older versions at http://chromedriver.storage.googleapis.com/
# Also make sure to pick the right driver, based on your Operating System
wget http://chromedriver.storage.googleapis.com/81.0.4044.69/chromedriver_mac64.zip
For debian: wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
Step 2: Add chromedriver to /usr/local/bin
unzip chromedriver_mac64.zip
sudo mv chromedriver /usr/local/bin
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver
You should now be able to run
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://localhost:8000')
without any issues
You can test if it actually is in the PATH, if you open a cmd and type in chromedriver
(assuming your chromedriver executable is still named like this) and hit Enter. If Starting ChromeDriver 2.15.322448
is appearing, the PATH is set appropriately and there is something else going wrong.
Alternatively you can use a direct path to the chromedriver like this:
driver = webdriver.Chrome('/path/to/chromedriver')
So in your specific case:
driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
I see the discussions still talk about the old way of setting up chromedriver by downloading the binary and configuring the path manually.
This can be done automatically using webdriver-manager
pip install webdriver-manager
Now the above code in the question will work simply with below change,
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
The same can be used to set Firefox, Edge and ie binaries.