56

I'm beginning the automate the boring stuff book and I'm trying to open a chrome web browser through python. I have already installed selenium and

I have tried to run this file:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('https://automatetheboringstuff.com')

But because of that I get this Error:

Traceback (most recent call last):   File "C:\Program Files
   (x86)\Python36-32\lib\site-packages\selenium\webdriver\common\service.py",
 line 74, in start
     stdout=self.log_file, stderr=self.log_file)   File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 707, in __init__
     restore_signals, start_new_session)   File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 990, in _execute_child
     startupinfo) FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File "C:/Program Files
(x86)/Python36-32/test.py", line 5, in <module>
    browser = webdriver.Chrome()   File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py",
line 62, in __init__
   self.service.start()   File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\common\service.py",
line 81, in start
   os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'chromedriver'
  executable needs to be in PATH. Please see
https://sites.google.com/a/chromium.org/chromedriver/home
M.Innat
  • 8,673
  • 5
  • 27
  • 46
Fernando Garibaldi
  • 695
  • 1
  • 5
  • 6
  • 3
    The traceback already tells you, what the problem is: your python code can not execute `chromedriver` as it can not be found in PATH. Add the location of `chromedriver`to PATH or move `chromedriver` to a place already in PATH. – fragmentedreality Feb 27 '17 at 05:59
  • 1
    Does this answer your question? [selenium - chromedriver executable needs to be in PATH](https://stackoverflow.com/questions/40555930/selenium-chromedriver-executable-needs-to-be-in-path) – robertspierre Jun 29 '20 at 16:58

2 Answers2

98

You need to specify the path where your chromedriver is located.

  1. Download chromedriver for your desired platform from here.

  2. Place chromedriver on your system path, or where your code is.

  3. If not using a system path, link your chromedriver.exe (For non-Windows users, it's just called chromedriver):

    browser = webdriver.Chrome(executable_path=r"C:\path\to\chromedriver.exe")
    

    (Set executable_path to the location where your chromedriver is located.)

    If you've placed chromedriver on your System Path, you can shortcut by just doing the following:

    browser = webdriver.Chrome()

  4. If you're running on a Unix-based operating system, you may need to update the permissions of chromedriver after downloading it in order to make it executable:

    chmod +x chromedriver

  5. That's all. If you're still experiencing issues, more info can be found on this other StackOverflow article: Can't use chrome driver for Selenium

Michael Mintz
  • 105
  • 1
  • 5
Ahmad Taha
  • 1,585
  • 1
  • 14
  • 26
20

Here's a simpler solution: install python-chromedrive package, import it in your script, and it's done.

Step by step:
1. pip install chromedriver-binary
2. import the package

from selenium import webdriver
import chromedriver_binary  # Adds chromedriver binary to path

driver = webdriver.Chrome()
driver.get("http://www.python.org")

Reference: https://pypi.org/project/chromedriver-binary/

Louis
  • 358
  • 3
  • 8
  • 2
    You need to perform pip install chromedriver-binary – Prometheus Jan 06 '20 at 04:22
  • @Prometheus Yes I mentioned that in step 1 – Louis Jan 06 '20 at 18:42
  • 2
    This wasn't working for me because pip install chromedriver_binary installs the latest version (84), but my chrome version is 83. So I had to run pip install chromedriver-binary==83.0.4103.39. You can find other versions here: https://sites.google.com/a/chromium.org/chromedriver/ – JesusAlvSoto May 31 '20 at 13:28