
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
안녕하세요
3-4 네이버 크롤링 데이터 수집 중인데요.
기존에 강의하실때 대비 네이버 구조가 변경 된거 같더라구요.
검색창에 내용 입력하는 부분의 경우, 어찌 저찌 해서 변경된 클래스 이름으로 업데이트해서 넣었는데,
검색창 입력후 나오는 내용 결과에서 item과 상품명을 제대로 못가져 오는것 같아요.
제가 생각하는 item class는 .compositeCardContainer_composite_card_container__jr8cb composite_card_container 이고
상품명 class는 basicProductCardInformation_title__Bc_Ng 인데
파이썬 run하고 나면 터미널에 값을 한개도 못가지고 오더라구요..
아마 뭔가 틀린것 같아서 체크해보려고 합니다.
----
참고) 터미널 런하면 나오는 메세지
Seulgiui-MacBookAir:homework seulgikim$ /Users/seulgikim/Desktop/homework/.venv/bin/python /Users/seulgikim/Desktop/homework/automation_result.py
/Users/seulgikim/Desktop/homework/.venv/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
보고 계신 화면 전체를

캡처해 주시면, 튜터님들이 빠르게 상황을 이해할 수 있어요.
작성한 코드 및 에러 메세지
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
from openpyxl import load_workbook
from openpyxl.drawing.image import Image
from io import BytesIO
import time
import requests
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(2)
driver.find_element(By.CSS_SELECTOR, ".service_icon.type_shopping").click() # 쇼핑 탭 클릭
time.sleep(2)
# 쇼핑 창이 뜨는데, 그 창으로 이동
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_83jy9._nlog_click")
Search.click()
Search.send_keys("아이폰16프로맥스 자급제 1tb")
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
items = driver.find_elements(By.CSS_SELECTOR, ".compositeCardContainer_composite_card_container__jr8cb composite_card_container")
for item in items:
# 상품명
names = item.find_elements(By.CSS_SELECTOR, ".basicProductCardInformation_title__Bc_Ng")
name = names[0].text if names else "이름 없음"
print(names)
print(name)
