Вопрос-Ответ

Error message: "'chromedriver' executable needs to be available in the path"

Сообщение об ошибке: "Исполняемый файл 'chromedriver' должен быть доступен по пути"

Я использую selenium с python и загрузил chromedriver для своего компьютера с Windows с этого сайта: http://chromedriver.storage.googleapis.com/index.html?path=2.15 /

После загрузки zip-файла я распаковал zip-файл в свою папку downloads. Затем я ввел путь к исполняемому двоичному файлу (C:\Users\michael\Downloads\chromedriver_win32) в переменную среды "Path".

Однако, когда я запускаю следующий код:

from selenium import webdriver

driver = webdriver.Chrome()

... Я продолжаю получать следующее сообщение об ошибке:

WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at     http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver

Но, как объяснено выше, исполняемый файл находится (!) по пути ... что здесь происходит?

Переведено автоматически
Ответ 1

Я вижу, что в обсуждениях все еще говорится о старом способе настройки chromedriver путем загрузки двоичного файла и настройки пути вручную.

Это можно сделать автоматически с помощью webdriver-manager

pip install webdriver-manager

Теперь приведенный выше код в вопросе будет работать просто с приведенными ниже изменениями,

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

То же самое можно использовать для установки двоичных файлов Firefox, Edge и ie.

Ответ 2

Вы можете проверить, действительно ли он находится по ПУТИ, если откроете cmd и введете chromedriver (при условии, что ваш исполняемый файл chromedriver по-прежнему называется так) и нажмете Enter. Если Starting ChromeDriver 2.15.322448 появляется, ПУТЬ задан соответствующим образом, и что-то еще идет не так.

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

 driver = webdriver.Chrome('/path/to/chromedriver') 

Итак, в вашем конкретном случае:

 driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
Ответ 3

В Ubuntu:

sudo apt install chromium-chromedriver

В Debian:

sudo apt install chromium-driver

В macOS установите Homebrew, затем выполните

brew install --cask chromedriver
Ответ 4

Для Linux и OSX

Шаг 1: Загрузите chromedriver

# You can find more recent/older versions at http://chromedriver.storage.googleapis.com/
# Also make sure to pick the right driver, based on your Operating System
wget http://chromedriver.storage.googleapis.com/81.0.4044.69/chromedriver_mac64.zip

Для debian: wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip

Шаг 2: Добавьте chromedriver в /usr/local/bin

unzip chromedriver_mac64.zip
sudo mv chromedriver /usr/local/bin
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver

Теперь вы должны быть в состоянии запустить

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://localhost:8000')

без каких-либо проблем

python selenium-webdriver