Исполняемый файл chromedriver находится в PATH, но все еще получает ошибку

Я пытаюсь использовать селен, но получаю сообщение об ошибке

'chromedriver' executable needs to be in PATH.

Но я точно знаю, что это в PATH. У меня есть exe, расположенный в C: \ WebDriver \ bin. Он был добавлен в мои системные переменные Образ системных переменных. Успешно запущен chromedriver в командной строке возвращается

Starting ChromeDriver 89.0.4389.23 (61b08ee2c50024bab004e48d2b1b083cdbdac579-refs/branch-heads/4389@{#294}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.

Я перезагрузил свой компьютер. Я пробовал напрямую указать executable_path

driver = Chrome(executable_path=r"C:\WebDriver\bin\chromedriver.exe")

Я использовал ProcessMonitor, если кто-нибудь может понять эти журналы ( фильтр: путь содержит хромированный драйвер)

Обновление:

Использование webdriver-manager

from selenium import webdriver    
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

Дал мне ошибку

ValueError: Could not get version for Chrome with this command: google-chrome --version || google-chrome-stable --version

person tape74    schedule 17.03.2021    source источник
comment
Отвечает ли это на ваш вопрос? chromedriver.exe УЖЕ находится в PATH, но все еще получает сообщение об ошибке   -  person FluxedScript    schedule 17.03.2021
comment
к сожалению, нет @FluxedScript   -  person tape74    schedule 18.03.2021


Ответы (2)


Попробуйте использовать пакет webdriver-manager:

pip install webdriver-manager

код должен выглядеть так:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

Модуль автоматически загружает драйвер и сохраняет его по известному пути для селена. Это решит все проблемы с путем к драйверу.

person Vova    schedule 17.03.2021
comment
Используя это, я получил ошибку: ValueError: не удалось получить версию для Chrome с помощью этой команды: google-chrome --version || google-chrome-stable - версия @Vova - person tape74; 18.03.2021
comment
@ tape74 интересно, вроде там баг. - person Vova; 18.03.2021
comment
@ tape74 хорошо работает с firefox? from selenium import webdriver from webdriver_manager.firefox import GeckoDriverManager driver = webdriver.Firefox(executable_path=GeckoDriverManager().install()) - person Vova; 18.03.2021
comment
Теперь ошибка: SessionNotCreatedException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line мой exe находится в C: \ Program Files \ Mozilla Firefox tho - person tape74; 19.03.2021
comment
Предлагаемое здесь решение stackoverflow.com/questions/65318382/, но я не уверен, как использовать эту функцию с помощью webdriver-manager - person tape74; 19.03.2021

Попробуй это :

from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'C:\WebDriver\bin\chromedriver.exe')
person Elyes Lounissi    schedule 17.03.2021