
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
안녕하세요. 영상대로 따라 하려는데, 현재 교보문고 HTML 페이지 코드가 강의 영상과 좀 다릅니다.
예를 코드스니펫대로 들어간 후 해당페이지에서 검사 클릭 후 해당 도서 클릭하면 <liclass="mt-9 flex min-h-[240px] flex-col justify-center pt-9 border-t border-gray-300 first:mt-0 first:border-t-0 first:pt-0"입니다. 영상에서는 "prod_item" 이고요.
구조가 강의 찍을때랑 지금이랑 달라 진거 같은데, 현재 페이지에서 class 찾아가서 대체 해봤는데, 안 됩니다.
디버깅 좀 해주세요.
작성한 코드 및 에러 메세지
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
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://product.kyobobook.co.kr/bestseller/online?period=001&page=1&per=50")
books_elements = driver.find_elements(By.CLASS_NAME, 'mt-9 flex min-h-[240px] flex-col justify-center pt-9 border-t border-gray-300 first:mt-0 first:border-t-0 first:pt-0')
for index, book in enumerate(books_elements):
rank = index + 1 # 0부터 시작하니까 +1을 해서 첫 번째가 1이 되도록 설정
title = book.find_element(By.CLASS_NAME, 'prod_link font-weight-medium line-clamp-2 text-black hover:underline font-text-xl mt-2').text
author = book.find_element(By.CLASS_NAME, 'line-clamp-2 flex overflow-hidden whitespace-normal break-all text-gray-800 fz-14 mt-1').text
price = book.find_element(By.CLASS_NAME, 'font-weight-bold').text
print(f"{rank}등 {title}, by {author} 가격: {price}")
driver.quit()

