
안녕하세요! * 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
안녕하세요!
코드 실행 시 후드티 입력 후 스크롤 내리는 부분에서 오류가 작동해서 스탑되었습니다.

작성코드
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
from openpyxl import load_workbook
from openpyxl.drawing.image import Image
import requests
from io import BytesIO
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")
# 화면 대기 후, 닫기 버튼을 눌러 진행하게 만들기
time.sleep(3)
popup_modal = driver.find_element(
By.CSS_SELECTOR, "button._buttonArea_close_34bcm")
popup_modal.click()
# 무한 스크롤
while True:
# 맨 아래로 스크롤 내린다.
driver.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END)
# 스크롤 사이 페이지 로딩 시간
time.sleep(1)
# 스크롤 후 높이
after_h = driver.execute_script("return window.scrollY")
if after_h == before_h:
break
before_h = after_h
# 상품 정보 div
items = driver.find_elements(By.CSS_SELECTOR, ".product_item__MDtDF")
for item in items:
# 상품명 찾기
names = item.find_elements(By.CSS_SELECTOR, ".product_title__Mmw2K")
name = names[0].text if names else "이름 없음"
# 가격 찾기
prices = item.find_elements(By.CSS_SELECTOR, ".price_num__S2p_v")
price = prices[0].text if prices else "가격 없음"
# 링크 찾기
links = item.find_elements(By.CSS_SELECTOR, ".product_title__Mmw2K > a")
link = links[0].get_attribute('href') if links else "링크 없음"
# 리뷰 수 찾기
review_totals = item.find_elements(By.CSS_SELECTOR, ".product_num__fafe5")
review_total = review_totals[0].text if review_totals else "리뷰 없음"
# 이미지 찾기
images = item.find_elements(By.CSS_SELECTOR, '.thumbnail_thumb__Bxb6Z > img')
image = images[0].get_attribute('src') if images else "이미지 없음"
product_info = {
'상품명': name,
'가격': price,
'링크': link,
'총 리뷰 수': review_total,
'이미지': image
}
print(product_info)
driver.quit()
오류코드
PS C:\Users\tradi\Desktop\automation\crawling> & c:/Users/tradi/Desktop/automation/crawling/.venv/Scripts/python.exe c:/Users/tradi/Desktop/automation/crawling/crawling_naver.py
Traceback (most recent call last):
File "c:\Users\tradi\Desktop\automation\crawling\crawling_naver.py", line 46, in <module>
popup_modal = driver.find_element(
File "C:\Users\tradi\Desktop\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\tradi\Desktop\automation\crawling\.venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 344, in execute
self.error_handler.check_response(response)
File "C:\Users\tradi\Desktop\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":"button._buttonArea_close_34bcm"}
(Session info: chrome=128.0.6613.119); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
GetHandleVerifier [0x00007FF68234B5D2+29090]
(No symbol) [0x00007FF6822BE689]
(No symbol) [0x00007FF68217B1CA]
(No symbol) [0x00007FF6821CEFD7]
(No symbol) [0x00007FF6821CF22C]
(No symbol) [0x00007FF6822197F7]
(No symbol) [0x00007FF6821F672F]
(No symbol) [0x00007FF6822165D9]
(No symbol) [0x00007FF6821F6493]
(No symbol) [0x00007FF6821C09B1]
(No symbol) [0x00007FF6821C1B11]
GetHandleVerifier [0x00007FF682668C5D+3295277]
GetHandleVerifier [0x00007FF6826B4843+3605523]
GetHandleVerifier [0x00007FF6826AA707+3564247]
GetHandleVerifier [0x00007FF682406EB6+797318]
(No symbol) [0x00007FF6822C980F]
(No symbol) [0x00007FF6822C53F4]
(No symbol) [0x00007FF6822C5580]
(No symbol) [0x00007FF6822B4A1F]
BaseThreadInitThunk [0x00007FFB1E7F7374+20]
RtlUserThreadStart [0x00007FFB1F95CC91+33]
