Задать вопрос
@Kirill_Safe

Selenium не видит мой webdriver,что делать?

Здраствуйте,пытаюсь импортировать свой chromedriver.exe в селениум,но он выдает такую ошибку:
Ошибка
PS C:\Users\Кирилл\Desktop\VScode\SeleniumTest> & C:/Users/Кирилл/AppData/Local/Microsoft/WindowsApps/python3.12.exe c:/Users/Кирилл/Desktop/VScode/SeleniumTest/main.py
Traceback (most recent call last):
  File "C:\Users\Кирилл\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\common\driver_finder.py", line 58, in _binary_paths
    path = self._service.path
           ^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'path'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "c:\Users\Кирилл\Desktop\VScode\SeleniumTest\main.py", line 34, in <module>
    print(get_source("KirillSafe"))
          ^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\Кирилл\Desktop\VScode\SeleniumTest\main.py", line 25, in get_source
    driver = webdriver.Chrome(options=options, service=service)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Кирилл\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__
    super().__init__(
  File "C:\Users\Кирилл\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\chromium\webdriver.py", line 50, in __init__
    if finder.get_browser_path():
       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Кирилл\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\common\driver_finder.py", line 47, in get_browser_path
    return self._binary_paths()["browser_path"]
           ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Кирилл\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\common\driver_finder.py", line 78, in _binary_paths
    raise NoSuchDriverException(msg) from err
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for chrome; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location


Вот мой код и расположение файлов:

Код
import json
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--disable-images")
options.add_argument("--enable-javascript")
options.add_argument("--enable-chrome-browser-cloud-management")


#КУКЕСЫ
with open('cookies.json', 'r') as f:
    cookies = json.load(f)


service = "./chromedriver.exe"


def get_source(url):
    driver = webdriver.Chrome(options=options, service=service)
    driver.get('https://Тут_рандомная_ссылка_xd' + url)
    for cookie in cookies:
        driver.add_cookie(cookie)
    driver.refresh()
    time.sleep(10)
    source_code = driver.page_source
    return source_code

print(get_source("KirillSafe"))


    Каталог: C:\Users\Кирилл\Desktop\VScode\SeleniumTest


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        08.05.2024      0:31                .vscode
-a----        26.05.2023     23:39       12273664 chromedriver.exe
-a----        08.05.2024     17:27           3035 cookies.json
-a----        26.05.2023     23:39         248545 LICENSE.chromedriver
-a----        08.05.2024     20:12           1043 main.py
-a----        24.01.2024     17:37       14335488 yandexdriver.exe
-a----        08.05.2024     19:59            133 Новый текстовый документ.txt
  • Вопрос задан
  • 537 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@rPman
С высокой вероятностью причина - русские буквы в пути.

Размести драйвер в другом каталоге, не содержащем русские буквы (можно создать символическую ссылку на каталог в другом месте)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы