Не удается найти двоичный файл Chrome с Selenium в Python для более старых версий Google Chrome - PullRequest
0 голосов
/ 02 мая 2018

По причинам совместимости я предпочитаю использовать Chrome версии 55.0.2883.75 с Chromedriver v. 2.26. Я скачал старую версию Chrome с https://www.slimjet.com/chrome/google-chrome-old-version.php и Chromedriver 2.26 с https://chromedriver.storage.googleapis.com/index.html?path=2.26/.

Я использую следующий код для установки двоичного местоположения в Chrome:

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)

Однако при попытке запустить WebDriver Python возвращает следующую ошибку:

WebDriverException: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.26.436362
(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.14393 x86_64)

Я пробовал искать похожие вопросы и ответы, но пока мне не повезло. Любая помощь с благодарностью - заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Это сообщение об ошибке ...

WebDriverException: unknown error: cannot find Chrome binary

... означает, что ChromeDriver не смог найти двоичный файл Chrome в расположении по умолчанию для вашей системы.

Согласно ChromeDriver - Требования :

Сервер ChromeDriver ожидает, что Chrome будет установлен в расположение по умолчанию для каждой системы следующим образом:

ChromeLocation

1 Для систем Linux ChromeDriver ожидает, что /usr/bin/google-chrome будет символьной ссылкой на фактический Chrome двоичный .


Использование исполняемого файла Chrome в нестандартном месте

Однако вы также можете переопределить стандартное двоичное расположение Chrome следующим образом:

Chrome_non_standard_location


Чтобы использовать Chrome версии 55.x , установленный в нестандартном месте через ChromeDriver v2.26 , вы можете использовать следующий кодовый блок:

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()
0 голосов
/ 02 мая 2018

Чек https://sites.google.com/a/chromium.org/chromedriver/getting-started Вы можете указать двоичный путь в конструкторе веб-драйвера:

driver = webdriver.Chrome('/path/to/chromedriver')  # Optional argument, if not specified will search path.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...