티스토리 뷰

반응형

7월말까지 잘되던 프로그램에서 이런 오류가 발생하네요.

 


Traceback (most recent call last):
  File "c:\python\search_chromdriver.py", line 8, in <module>
    driver = webdriver.Chrome(ChromeDriverManager().install())
  File "C:\Users\light\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__
    super().__init__(
    self.service.path = DriverFinder.get_path(self.service, options)
  File "C:\Users\light\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\common\driver_finder.py", line 40, in get_path
    msg = f"Unable to obtain driver for {options.capabilities['browserName']} using Selenium Manager."
AttributeError: 'str' object has no attribute 'capabilities'
PS C:\Users\light> & "C:/Program Files/Python310/python.exe" c:/python/search_chromdriver.py
Traceback (most recent call last):
    driver = webdriver.Chrome(service=service)
  File "C:\Users\light\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__
    super().__init__(
  File "C:\Users\light\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\chromium\webdriver.py", line 53, in __init__
    self.service.start()
  File "C:\Users\light\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\common\service.py", line 98, in start
    self._start_process(self._path)
  File "C:\Users\light\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\common\service.py", line 204, in _start_process
    self.process = subprocess.Popen(
  File "C:\Program Files\Python310\lib\subprocess.py", line 969, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Program Files\Python310\lib\subprocess.py", line 1438, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
OSError: [WinError 193] %1은(는) 올바른 Win32 응용 프로그램이 아닙니다
PS C:\Users\light> python -c "import platform; print(platform.architecture())"
>> 
('64bit', 'WindowsPE')

현재 윈도우 당연히 64비트를 사용하고 있고, 이것이 뭔가 셀레니엄과 맞지 않나봐요.

잘 되던건데 갑자기 나온 오류에 당황스럽습니다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

# ChromeDriverManager를 통해 ChromeDriver를 자동으로 설치하고, Service 객체로 경로를 설정합니다.
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

# 이제 Selenium 스크립트를 작성하고 사용할 수 있습니다.
driver.get("https://www.google.com")
print(driver.title)

# 브라우저를 닫습니다.
driver.quit()

 

기본적으로 자동으로 크롬드라이브를 업데이트하는데 사용하는데, 이게 지금 안되는 상황이네요.

누군가에 커뮤니티 댓글로 해결이 된 것 같아요~

허무하네요..

 

네 ㅎㅎ service = Service() 이렇게 manager를 지워보시겠어요? 크롬이 업데이트 되면서 ChromeDriverManager를 사용 시 발생하는 문제라고 하네요
반응형
댓글