커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3-4 네이버쇼핑 크롤링 에러
칼퇴를 부르는 파이썬 업무 자동화
3주차
북마크
김*범
댓글
4
추천
0
조회수
13
조회수
13
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


네이버 쇼핑(스토어)에서 후드티를 검색하는 부분에 에러가 발생합니다.



스파르타 즉문즉답




작성한 코드 및 에러 메세지


작성한 코드


from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.chrome.options import Options

import time

import requests

from io import BytesIO

from openpyxl import Workbook

from openpyxl.drawing.image import Image

from openpyxl.styles import PatternFill, Alignment


# 크롬 드라이버 옵션 설정

chrome_options = Options()

chrome_options.add_experimental_option("detach", True)

chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

driver = webdriver.Chrome(options=chrome_options)


# 웹 사이트 열기

driver.get("https://www.naver.com")

time.sleep(1)


# 쇼핑 메뉴 클릭하기

driver.find_element(By.CSS_SELECTOR, ".service_icon.type_shopping").click()

time.sleep(1)


# 새 창으로 전환하기

new_window = driver.window_handles[1]

driver.switch_to.window(new_window)


# 화면 최대화

driver.maximize_window()


search = driver.find_element(By.CSS_SELECTOR, "input._searchInput_search_text_3CUDs")

search.click()


search.send_keys("후드티")

search.send_keys(Keys.ENTER)


before_h = driver.execute_script("return window.scrollY")

while True:

    driver.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) #스크롤 내리기 위해 END키 누르기기

    time.sleep(1)

    after_h = driver.execute_script("return window.scrollY") #이동하고 나서 스크롤 위치

    if after_h == before_h: #만약 옮기기 전과 후의 스크롤 위치가 동일하다면(끝까지 다 내렸다면)

        break

    before_h = after_h


에러메세지


Traceback (most recent call last):

 File "c:\Users\utoca\OneDrive\바탕 화면\automation\crawling\.venv\crawling_naver.py", line 33, in <module>   

  search = driver.find_element(By.CSS_SELECTOR, "input._searchInput_search_text_3CUDs")

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\utoca\OneDrive\바탕 화면\automation\crawling\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 738, in find_element

  return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]

      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "C:\Users\utoca\OneDrive\바탕 화면\automation\crawling\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 344, in execute

  self.error_handler.check_response(response)

 File "C:\Users\utoca\OneDrive\바탕 화면\automation\crawling\.venv\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response

  raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"input._searchInput_search_text_3CUDs"}

 (Session info: chrome=131.0.6778.205); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception

Stacktrace:

    GetHandleVerifier [0x00007FF7F994FB05+28789]

    (No symbol) [0x00007FF7F98B86E0]

    (No symbol) [0x00007FF7F975592A]

    (No symbol) [0x00007FF7F97A930E]

    (No symbol) [0x00007FF7F97A95FC]

    (No symbol) [0x00007FF7F97F28A7]

    (No symbol) [0x00007FF7F97CF47F]

    (No symbol) [0x00007FF7F97EF654]

    (No symbol) [0x00007FF7F97CF1E3]

    (No symbol) [0x00007FF7F979A938]

    (No symbol) [0x00007FF7F979BAA1]

    GetHandleVerifier [0x00007FF7F9C8933D+3410093]

    GetHandleVerifier [0x00007FF7F9C9E7DD+3497293]

    GetHandleVerifier [0x00007FF7F9C92A73+3448803]

    GetHandleVerifier [0x00007FF7F9A17BBB+848171]

    (No symbol) [0x00007FF7F98C3C3F]

    (No symbol) [0x00007FF7F98BF6E4]

    (No symbol) [0x00007FF7F98BF87D]

    (No symbol) [0x00007FF7F98AED49]

    BaseThreadInitThunk [0x00007FF991E2259D+29]

    RtlUserThreadStart [0x00007FF992F6AF38+40]


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴