rom pickle import APPEND
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager # 크롬 드라이버 자동 업데이트
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import requests, openpyxl, time, pyautogui
# 브라우저 꺼짐 방지
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
#chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # 불필요한 에러 메세지 없애기
# 셀레니움 드라이버 세팅
service = Service(executable_path=ChromeDriverManager().install())
browser = webdriver.Chrome(service=service,options=chrome_options)
wb = openpyxl.Workbook()
ws = wb.active
ws.append(['이미지','순번', '시즌', '스타일', '컬러', '스타일명', '택가', '판매가', '선호도', '상품설명', '혼용률', '제조년월','URL'])
ws.column_dimensions['A'].width = 5
ws.column_dimensions['B'].width = 5
ws.column_dimensions['C'].width = 5
ws.column_dimensions['D'].width = 15
ws.column_dimensions['E'].width = 10
ws.column_dimensions['F'].width = 30
ws.column_dimensions['G'].width = 10
ws.column_dimensions['H'].width = 10
ws.column_dimensions['I'].width = 10
ws.column_dimensions['J'].width = 10
ws.column_dimensions['k'].width = 10
ws.column_dimensions['l'].width = 10
ws.column_dimensions['m'].width = 10
browser.implicitly_wait(5) # 웹페이지가 로딩 될때까지 5초는 기다림
browser.maximize_window() # 화면 최대화
url = f"https://www.creasmall.com/display/category/goods/list/form?brandGrpNo=0&cateGb=G032_101&cate1No=1200"
browser.get(url) # 주소 이동
browser.execute_script("location.reload()")
browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(2) > a').click()
browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(2) > div > ul > li:nth-child(3) > a > span').click()
time.sleep(0.1)
browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(1) > a').click()
browser.find_element(By.CSS_SELECTOR, f'#cy1201 > span').click()
time.sleep(0.1)
items = browser.find_elements(By.CSS_SELECTOR, '#goodsArea > li >a')
for i, item in enumerate(items, 1):
if i >= 31 and i <= 31:
time.sleep(0.1)
browser.find_element(By.CSS_SELECTOR, f'#goodsArea > li:nth-child({i}) > a').click()
time.sleep(0.1)
comments = browser.find_elements(By.CSS_SELECTOR, '#reviewDiv > div.review-list-wrap > ul > li > div > a > div.cdesc')
for comment in comments:
cmt = comment.text
ws.append([cmt])
wb.save('dd3sdf33dk.xlsx')
browser.quit()