오전동안 끄적여봤다. 마침 면도기도 필요했고
필터 선택과 상품명, 가격, 링크 추출까진 성공
Excel 파일로 추출하는건 오후 업무가 생겨서 Pass
from selenium import webdriver
#브라우저 꺼짐 방지 옵션
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
# 브라우저 꺼짐 방지 옵션
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=chrome_options)
# URL 열기
driver.maximize_window()
# 검색창에 면도기 검색
driver.implicitly_wait(30)
search = driver.find_element(By.XPATH, '//*[@id="__next"]/div/div[1]/div/div/div[2]/div/div[2]/div/div[2]/form/div[1]/div/input')
search.send_keys("면도기")
search.send_keys(Keys.RETURN)
# 카테고리 필터의 남성용 전기면도기 선택
Categori = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[2]/div/div[1]/div[2]/ul/li[1]/a/span').click()
# 브랜드 필터의 필립스, BRAUN 선택
brand = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[2]/div[1]/div[2]/div[2]/ul/li[1]/a/span').click()
driver.implicitly_wait(30)
brand = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[2]/div[1]/div[2]/div[2]/ul/li[4]/a/span').click()
# 가격 필터의 최소 가격 입력
min_price = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[3]/div[1]/div[5]/div[2]/div/span[2]/input')
min_price.send_keys("100000")
# 가격 필터의 최대 가격 입력
max_price = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[3]/div[1]/div[5]/div[2]/div/span[4]/input')
max_price.send_keys("200000")
max_price = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[3]/div[1]/div[5]/div[2]/div/a').click()
# 검색된 제품 제품명, 가격 엑셀로 내보내기
driver.implicitly_wait(300)
items = driver.find_elements(By.XPATH, '//*[@id="content"]/div[1]/div[2]/div/div[1]/div/div/div[2]')
for item in items:
name = item.find_element(By.XPATH, '//*[@id="content"]/div[1]/div[2]/div/div[1]/div/div/div[2]/div[1]/a').text
price = item.find_element(By.XPATH, '//*[@id="content"]/div[1]/div[2]/div/div[1]/div/div/div[2]/div[2]/strong/span/span[1]/span').text
link = item.find_element(By.XPATH, '//*[@id="content"]/div[1]/div[2]/div/div[1]/div/div/div[2]/div[1]/a').get_attribute('href')
print(name, price, link)
코드가 너무 지저분해보인다.
XPATH로 복붙밖에 못하는 수준일뿐
사실상 GPT가 다 짜준거나 다름없다.
그래도 생각한 것 반은 성공.
'Selenium' 카테고리의 다른 글
Python Selenium 무한스크롤 (3) | 2023.05.19 |
---|---|
Python Selenium with 원티드(1) (1) | 2023.05.19 |
Python Selenium with 네이버쇼핑(2) (1) | 2023.05.12 |
Python Selenium 맛보기 with Valorant (0) | 2023.05.10 |