끄적끄적

반응형

이전에 노트북에서 사용하던 셀레니움 코드를 그대로 복사해서 새 컴퓨터로 옮기고, 실행하니 오류 메세지가 뜨고 비정상 종료를 하더라.

 

애러 메세지 내용

DevTools listening on ws://127.0.0.1:1171/devtools/browser/34c92568-94f3-4a6e-935d-e4a80d5f3d3c
[14508:14512:0115/053115.785:ERROR:device_event_log_impl.cc(215)] [05:31:15.785] Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed.

 

일단은 크롬 드라이브를 새로 다운 받았음

=> 해결안됨.

 

애러가 뜨는 부분을 찾아보니 대체로

driver.find_element_by_xpath('~~~~

이런 부분에서 걸리더라.

 

다시 수정하려고, vscode에서 직접 입력을 하는데

find_element에서 입력 자동완성에 _by_xpath를 비롯한 많은 부분들이 안뜨더라.

셀레니움 설치가 잘못됐나? 싶어서 다시 셀리니움을 설치했음

=> 해결안됨

 

계속 찾고, 또 찾다가 

 

이거 삽입

from selenium.webdriver.common.by import By
from selenium.webdriver.common.service import Service

    #driver = webdriver.Chrome()        #이거를 지우고


    #이걸로 대체
    options = webdriver.ChromeOptions()
    options.add_experimental_option('excludeSwitches',['enable-logging'])
    driver = webdriver.Chrome(options=options)

 

대충 이렇게 하니 오류 메세지는 안 나오는데, 

driver.find_element_by_xpath('~~~~

이 부분에서 또 걸림.

 

 

유튜브에서 찾아보다가 방법을 찾았음.!

문제의 원인은 셀레니움3에서 셀레니움4로 넘어가면서 find 사용방법이 달라져서 생긴 구문오류임.

 

https://www.youtube.com/watch?v=qhy8I4ChCuw 

 

 

 

[해결방법]

 

driver.find_element_by_xpath('~~~~

이런식으로 사용한 게 있다면

 

driver.find_element(By.XPATH, "~~~~

이렇게 바꿔줘야 정상 작동이 된다.

셀레니움 설치된 버전 확인

터미널에서 pip list 입력 후

결과창에서 selenium 버전 찾기 

 

 

 

 

 

 

 

 

 

반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]