selenium error

jongeun·2023년 3월 6일
0
post-custom-banner

1. 에러코드 첫번째

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="SIGUNGU_NM0"]"}
  (Session info: chrome=110.0.5481.177)
  • 원인: 페이지 로드시, //*[@id="SIGUNGU_NM0"]가 생성되지 않으므로, NoSuchElementException에러가 발생
    • 셀레니움으로 크롤링을 하다보면 접근하려는 요소가 존재하지 않는다는 의미
    • 대상페이지가 서버와의 통신이 계속적으로 진행되는 동적 페이지거나, 인터넷 회선 지연등의 원인으로 크롤링을 원하는 요소가 html내에 존재하기 전에 접근을 시도할 때 발생하는 에러
  • 해결법: 셀레니움의 대기(waits)기능을 이용해서 해결
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

sigungu = WebDriverWait(browser,timeout=5).until(EC.presence_of_element_located((By.XPATH,'//*[@id="SIGUNGU_NM0"]')))

2. 에러코드 두번째

"Message: stale element reference: element is not attached to the page document"

셀레니움으로 웹페이지가 너무 빨리 넘어가서 생기는 오류로, 시간을 늦춰주면 되는 문제
time.sleep(2) # 추가!!

참고링크

profile
기록으로 성장하는 개발자 되기
post-custom-banner

0개의 댓글