• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python - selenium, błąd przy chromedriverze

42 Warsaw Coding Academy
0 głosów
220 wizyt
pytanie zadane 18 lipca 2023 w Python przez FrikeQ Nowicjusz (170 p.)
Traceback (most recent call last):
  File "C:\Users\gkazi\PycharmProjects\Po\venv\lib\site-packages\selenium\webdriver\common\driver_finder.py", line 42, in get_path
    path = SeleniumManager().driver_location(options) if path is None else path
  File "C:\Users\gkazi\PycharmProjects\Po\venv\lib\site-packages\selenium\webdriver\common\selenium_manager.py", line 74, in driver_location
    browser = options.capabilities["browserName"]
AttributeError: 'str' object has no attribute 'capabilities'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gkazi\PycharmProjects\Po\Bot.py", line 5, in <module>
    driver = webdriver.Chrome(chromedriver)
  File "C:\Users\gkazi\PycharmProjects\Po\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 47, in __init__
    self.service.path = DriverFinder.get_path(self.service, self.options)
  File "C:\Users\gkazi\PycharmProjects\Po\venv\lib\site-packages\selenium\webdriver\common\driver_finder.py", line 44, in get_path
    raise NoSuchDriverException(f"Unable to obtain {service.path} using Selenium Manager; {err}")
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain chromedriver using Selenium Manager; 'str' object has no attribute 'capabilities';

Mam problem z chromedriverem. Mam go pobranego na komputerze (Dysk C).

Nie wiem jak to naprawić. Powyżej jest błąd.
 

 

Kod:

from selenium import webdriver

driver = webdriver.Chrome('C:\chromedriver.exe')

komentarz 18 lipca 2023 przez FrikeQ Nowicjusz (170 p.)
Od razu wyłącza przeglądarkę
komentarz 18 lipca 2023 przez FrikeQ Nowicjusz (170 p.)

@adrian17 Jednak działa! wystarczy dać time.sleep. Dzięki wielkie <3

 

1 odpowiedź

0 głosów
odpowiedź 18 lipca 2023 przez Wiciorny Ekspert (280,970 p.)

spróbuj przekazać opcje przeglądarki do konstruktora webdriver.Chrome. Możesz to zrobić, tworząc obiekt Options i przekazując go jako argument.

 

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome('C:\chromedriver.exe', options=options)

Często są wymagane opcje z poziomu kodu ( głównie no-sandbox i --disable-dev-shm-usage ) , aby było to możliwe 
natomiast upewnij się też, że masz poprawną sciężkę. 

Podobne pytania

0 głosów
0 odpowiedzi 132 wizyt
+1 głos
1 odpowiedź 239 wizyt
pytanie zadane 20 stycznia 2020 w Python przez Bartekmwt1000 Nowicjusz (150 p.)
0 głosów
2 odpowiedzi 321 wizyt
pytanie zadane 6 marca 2024 w Python przez Fidzi Nowicjusz (120 p.)

93,389 zapytań

142,385 odpowiedzi

322,547 komentarzy

62,749 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...