selenium – chromedriver executable needs to be in PATH
Question:
Error message:
‘chromedriver’ executable needs to be in PATH
I was trying to code a script using selenium in pycharm, however the error above occured. I have already linked my selenium to pycharm as seen here (fresh and up to date).
I am new to selenium, isn’t chromedriver in the folder “selenium.”
If it isn’t, where can I find it and add it to the path?
By the way, I tried typing “chromedriver” in cmd, however, it wasn’t recognized as an internal or external command.
error shown below:
Traceback (most recent call last):
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsubprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsubprocess.py", line 1224, in _execute_child
startupinfo)
PermissionError: [WinError 5] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/sebastian/PycharmProjects/web/bot.py", line 10, in <module>
browser = webdriver.Chrome("C:/Users/sebastian/desktop/selenium-3.0.1")
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdriverchromewebdriver.py", line 62, in __init__
self.service.start()
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 76, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'selenium-3.0.1' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.chrome.service.Service object at 0x01EDEAF0>>
Traceback (most recent call last):
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 163, in __del__
self.stop()
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 135, in stop
if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
Answers:
You can download ChromeDriver here:
https://sites.google.com/chromium.org/driver/
Then you have multiple options:
-
add it to your system path
-
put it in the same directory as your python script
-
specify the location directly via executable_path
driver = webdriver.Chrome(executable_path='C:/path/to/chromedriver.exe')
Another way is download and unzip chromedriver and put ‘chromedriver.exe’ in C:Python27Scripts and then you need not to provide the path of driver, just
driver= webdriver.Chrome()
will work
Try this :
pip install webdriver-manager
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
Another way is download and unzip chromedriver and put ‘chromedriver.exe’ in C:Python27Scripts and then you need not to provide the path of driver, just
driver= webdriver.Chrome()
will work
Can testify that this also works for Python3.7.
Do not include the ‘.exe’ in your file path.
For example:
from selenium import webdriver
driver = webdriver.Chrome(executable_path='path/to/folder/chromedriver')
An answer from 2020. The following code solves this. A lot of people new to selenium seem to have to get past this step.
Install the chromedriver and put it inside a folder on your desktop. Also make sure to put the selenium python project in the same folder as where the chrome driver is located.
Change USER_NAME and FOLDER in accordance to your computer.
For Windows
driver = webdriver.Chrome(r"C:UsersUSER_NAMEDesktopFOLDERchromedriver")
For Linux/Mac
driver = webdriver.Chrome("/home/USER_NAME/FOLDER/chromedriver")
try this :
driver = webdriver.Chrome(ChromeDriverManager().install())
Error message:
‘chromedriver’ executable needs to be in PATH
I was trying to code a script using selenium in pycharm, however the error above occured. I have already linked my selenium to pycharm as seen here (fresh and up to date).
I am new to selenium, isn’t chromedriver in the folder “selenium.”
If it isn’t, where can I find it and add it to the path?
By the way, I tried typing “chromedriver” in cmd, however, it wasn’t recognized as an internal or external command.
error shown below:
Traceback (most recent call last):
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsubprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsubprocess.py", line 1224, in _execute_child
startupinfo)
PermissionError: [WinError 5] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/sebastian/PycharmProjects/web/bot.py", line 10, in <module>
browser = webdriver.Chrome("C:/Users/sebastian/desktop/selenium-3.0.1")
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdriverchromewebdriver.py", line 62, in __init__
self.service.start()
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 76, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'selenium-3.0.1' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.chrome.service.Service object at 0x01EDEAF0>>
Traceback (most recent call last):
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 163, in __del__
self.stop()
File "C:UserssebastianAppDataLocalProgramsPythonPython35-32libsite-packagesseleniumwebdrivercommonservice.py", line 135, in stop
if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
You can download ChromeDriver here:
https://sites.google.com/chromium.org/driver/
Then you have multiple options:
-
add it to your system
path
-
put it in the same directory as your python script
-
specify the location directly via
executable_path
driver = webdriver.Chrome(executable_path='C:/path/to/chromedriver.exe')
Another way is download and unzip chromedriver and put ‘chromedriver.exe’ in C:Python27Scripts and then you need not to provide the path of driver, just
driver= webdriver.Chrome()
will work
Try this :
pip install webdriver-manager
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
Another way is download and unzip chromedriver and put ‘chromedriver.exe’ in C:Python27Scripts and then you need not to provide the path of driver, just
driver= webdriver.Chrome()
will work
Can testify that this also works for Python3.7.
Do not include the ‘.exe’ in your file path.
For example:
from selenium import webdriver
driver = webdriver.Chrome(executable_path='path/to/folder/chromedriver')
An answer from 2020. The following code solves this. A lot of people new to selenium seem to have to get past this step.
Install the chromedriver and put it inside a folder on your desktop. Also make sure to put the selenium python project in the same folder as where the chrome driver is located.
Change USER_NAME and FOLDER in accordance to your computer.
For Windows
driver = webdriver.Chrome(r"C:UsersUSER_NAMEDesktopFOLDERchromedriver")
For Linux/Mac
driver = webdriver.Chrome("/home/USER_NAME/FOLDER/chromedriver")
try this :
driver = webdriver.Chrome(ChromeDriverManager().install())