Python Selenium Chrome Webdriver
Question:
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-32libsite-packagesseleniumwebdrivercommonservice.py",
line 74, in start
stdout=self.log_file, stderr=self.log_file) File "C:Program Files (x86)Python36-32libsubprocess.py", line 707, in __init__
restore_signals, start_new_session) File "C:Program Files (x86)Python36-32libsubprocess.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-32libsite-packagesseleniumwebdriverchromewebdriver.py",
line 62, in __init__
self.service.start() File "C:Program Files (x86)Python36-32libsite-packagesseleniumwebdrivercommonservice.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
Answers:
You need to specify the path where your chromedriver is located.
-
-
Place chromedriver on your system path, or where your code is.
-
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:pathtochromedriver.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()
-
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
-
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
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")
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-32libsite-packagesseleniumwebdrivercommonservice.py",
line 74, in start
stdout=self.log_file, stderr=self.log_file) File "C:Program Files (x86)Python36-32libsubprocess.py", line 707, in __init__
restore_signals, start_new_session) File "C:Program Files (x86)Python36-32libsubprocess.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-32libsite-packagesseleniumwebdriverchromewebdriver.py",
line 62, in __init__
self.service.start() File "C:Program Files (x86)Python36-32libsite-packagesseleniumwebdrivercommonservice.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
You need to specify the path where your chromedriver is located.
-
Place chromedriver on your system path, or where your code is.
-
If not using a system path, link your
chromedriver.exe
(For non-Windows users, it’s just calledchromedriver
):browser = webdriver.Chrome(executable_path=r"C:pathtochromedriver.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()
-
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
-
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
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")