인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

손예나님의 프로필 이미지
손예나

작성한 질문수

일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석

Google Colab 코드 작성(2) - (네이버리뷰) 코드 분석 및 코드 작성

5강 Xpath 관련 오류

작성

·

102

·

수정됨

0

 

화면 캡처 2024-09-27 095532.png

/usr/local/lib/python3.10/dist-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host 'search.shopping.naver.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
---------------------------------------------------------------------------
NoSuchElementException                    Traceback (most recent call last)
<ipython-input-31-bd4c400cf669> in <cell line: 10>()
      8 # 2023.05.08 변경 find_element_by_xpath TO find_element
      9 # element=driver.find_element_by_xpath(shoppingmall_review)
---> 10 element=driver.find_element(By.XPATH, shoppingmall_review)
     11 driver.execute_script("arguments[0].click();", element)
     12 sleep(2)
/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response)
    243                 alert_text = value["alert"].get("text")
    244             raise exception_class(message, screen, stacktrace, alert_text)  # type: ignore[call-arg]  # mypy is not smart enough here
--> 245         raise exception_class(message, screen, stacktrace)

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[1]/div/div[2]/div[2]/div[2]/div[3]/div[2]/div/div[2]/ul/li[5]/a"}
  (Session info: headless chrome=90.0.4430.212); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x5b8b8afb27f9 <unknown>
#1 0x5b8b8af523b3 <unknown>
#2 0x5b8b8ac9a016 <unknown>
#3 0x5b8b8acce81e <unknown>
#4 0x5b8b8ad048fb <unknown>
#5 0x5b8b8acf1ded <unknown>
#6 0x5b8b8ad029e1 <unknown>
#7 0x5b8b8acf1c93 <unknown>
#8 0x5b8b8acc3ce4 <unknown>
#9 0x5b8b8acc54d2 <unknown>
#10 0x5b8b8af7e542 <unknown>
#11 0x5b8b8af8dce7 <unknown>
#12 0x5b8b8af8d9e4 <unknown>
#13 0x5b8b8af9213a <unknown>
#14 0x5b8b8af8e5b9 <unknown>
#15 0x5b8b8af73e00 <unknown>
#16 0x5b8b8afa55d2 <unknown>
#17 0x5b8b8afa5778 <unknown>
#18 0x5b8b8afbda1f <unknown>
#19 0x7aaab6c3fac3 <unknown>
#20 0x7aaab6cd1850 <unknown>


전달 주신 수업노트 코랩에 있는 내용으로 그대로 넣었는데 오류 값이 위와 같이 발생합니다. 확인 부탁드려요.

xpath 값도 업데이트해서 넣었어요ㅠㅠ


답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 손예나님.

크롤링 관련된 코드를 작성하실 때, NoSuchElementException이 발생하는 주요 원인은 XPath가 올바르게 지정되지 않아서 발생합니다. 요소가 존재하지 않거나 페이지 로딩이 충분히 완료되지 않으면 해당 오류가 나타날 수 있습니다.

아래는 유사한 문제를 다룬 질문과 그 해결책을 안내드립니다.

  1. 네이버 쇼핑 리뷰 크롤링 시 Xpath 관련 오류 발생

    • 해당 링크에서 강의자가 제시한 해결 방법 중 하나는 “copy full xpath” 기능을 활용하여 정확한 XPath를 가져오는 것이었습니다.
  2. 링크 변경 후 발생하는 NoSuchElementException 오류

    • 강의자가 동일한 코드에서 에러가 발생할 수 있으며, 각 웹 페이지마다 HTML 구조가 다르기 때문에 해당 페이지에 맞는 정확한 XPath를 사용해야 한다는 내용을 포함하고 있습니다. copy full xpath 기능을 사용해 현재 페이지에 맞는 XPath를 다시 확인하시길 권장드립니다.
  3. 네이버 쇼핑 정보 크롤링 NoSuchElementException 관련 해결법

    • 본 링크에서는 네이버 쇼핑 페이지에서 다른 제품의 리뷰를 크롤링하려는 시도에서 발생한 유사한 에러에 대한 해결책이 설명되어 있습니다. 중요한 부분은 특정 제품의 HTML 구조가 다를 수 있다는 점을 주의해야 한다는 것입니다.

관련 질문 URL:
- 네이버 쇼핑 리뷰 크롤링 시 Xpath 관련 오류 발생
- 링크 변경 후 발생하는 NoSuchElementException 오류
- 네이버 쇼핑 정보 크롤링 NoSuchElementException 관련 해결법

추가적인 노하우:
- Selenium을 사용할 때 페이지 로딩 시간을 충분히 기다려주는 것이 중요합니다:

  driver.implicitly_wait(10)  # 10초까지 대기
  • copy full xpath 기능을 사용하여 다시 한 번 정확한 Xpath를 확인해 보시는 것을 권장합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

손예나님의 프로필 이미지
손예나
질문자

gpt에서 검색한 내용인데 그대로 적용해봐도 안돼요

손예나님의 프로필 이미지
손예나

작성한 질문수

질문하기