Reputation: 623
For compatibility reasons I prefer to use Chrome version 55.0.2883.75 with Chromedriver v. 2.26. I downloaded the older version of chrome from https://www.slimjet.com/chrome/google-chrome-old-version.php and Chromedriver 2.26 from https://chromedriver.storage.googleapis.com/index.html?path=2.26/.
I am using the following code to attempt to set my Chrome binary location:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome('chromedriver.exe', chrome_options = options)
However, when I attempt to launch the WebDriver Python returns the following error:
WebDriverException: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.26.436362
(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.14393 x86_64)
I have tried searching through similar questions and answers, but have not had any luck so far.
Upvotes: 47
Views: 295947
Reputation: 111
I faced this same issue when I was trying to use chrome driver win64 instead of win32(in my case)
Upvotes: 0
Reputation: 17981
On Mac, there is a new bug causing the same error even if Chrome is installed at the default place. This is because the new chromedriver is looking for "Google Chrome for Testing.app" instead.
I did the following:
mkdir foo
cd foo
npx @puppeteer/browsers install chrome@stable
mv chrome/mac-115.0.5790.102/chrome-mac-x64/Google\ Chrome\ for\ Testing.app /Applications
rm -rf chrome
Update: The latest version seems to be fixed now.
Upvotes: 3
Reputation: 21
I think this is the easiest way;
Download chromedriver
and chrome version
[except 115.0.5790.110 (it does not work properly)] from this link : chrome-for-testing.
from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = "C:/Program Files/Google/Chrome Dev/Application/chrome.exe"
driver = webdriver.Chrome(options=options)
#################
driver.get('https://realpython.com/openpyxl-excel-spreadsheets-python/')
Upvotes: 0
Reputation: 11
I faced this error because i installed Chrome with flatpak then Selenium doesn't find the directory of the Driver. Then i installed Chrome with Fedora Store and fixed.
Upvotes: 1
Reputation: 398
It is also important to download Chrome from the actual website. I ran into the same problem, but I had downloaded Chrome from the Ubuntu software package manager. I uninstalled the package manager version and installed from the website, and the error resolved. Same issue could probably arise installing from other package managers.
Upvotes: 1
Reputation: 193088
This error message...
WebDriverException: unknown error: cannot find Chrome binary
...implies that the ChromeDriver was unable to find the Chrome binary in the default location for your system.
As per the ChromeDriver - Requirements:
The server expects you to have Chrome installed in the default location for each system:
OS Expected Location of Chrome Linux /usr/bin/google-chrome1 Mac /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome Windows XP %HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe Windows Vista and newer C:\Users%USERNAME%\AppData\Local\Google\Chrome\Application\chrome.exe 1 For Linux systems, the ChromeDriver expects
/usr/bin/google-chrome
to be a symlink to the actual Chrome binary.
However you can also override the default Chrome binary location as follows:
To use Chrome version 55.x installed in non standard location through ChromeDriver v2.26 you can use the following code:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome(chrome_options = options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get('http://google.com/')
print("Chrome Browser Invoked")
driver.quit()
You can find a detailed discussion in:
Upvotes: 91
Reputation: 21
I have solved this problem by installing Google Chrome link and it solved problem automatically (I use Kali Linux) and be sure that it is installed to the "/usr/bin"(default it is downloaded to here).
Upvotes: 1
Reputation: 9
I did this to solve my problem
private WebDriver driver;
@Before
public void StartBrowser() {
System.setProperty("webdriver.chrome.driver", "C://opt//WebDriver//bin//chromedriver.exe");
driver = new ChromeDriver();
driver.get("https://www.saucedemo.com/");}
Upvotes: -1
Reputation: 6613
Using an old version of chrome driver with the latest Google Chrome locally gave me the same exception.
Just go to the ChromeDriver page and make sure you have the latest version.
Upvotes: 3
Reputation: 186
What happened to me is that I didn't have chrome, the main browser, installed. Download the browser and it fixes this issue.
Upvotes: 4
Reputation: 2187
I faced similar issue in MacOS. Even after setting binary path in chromeoptions, it didn't work. It got fixed after installing npm i chromedriver
Upvotes: 1
Reputation: 256
Check https://sites.google.com/a/chromium.org/chromedriver/getting-started You can specify the binary path in the constructor of the webdriver:
driver = webdriver.Chrome('/path/to/chromedriver') # Optional argument, if not specified will search path.
Upvotes: -2