작성
·
790
1
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager # 크롬드라이버 자동업데이트
from selenium.webdriver.common.by import By
import time
# 브라우저 생성
browser = webdriver.Chrome('/Users/gimsuyeon/Desktop/현프파이썬/네이버쇼핑크롤링/chromedriver')
# 브라우저 꺼짐 방지
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
# 불필요한 에러 메세지 없애기
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])
service = Service(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options = chrome_options)
# 웹페이지 해당 주소 이동
driver.get("https://www.naver.com")
driver.implicitly_wait(10) # 로딩이 끝날 때까지 10초까지는 기다려줌
# 쇼핑 메뉴 클릭
driver.find_element(By.CSS_SELECTOR,'a.nav.shop').click()
time.sleep(2)
# 검색창 클릭
search = driver.find_element(By.CSS_SELECTOR,'input._searchInput_search_text_fSuJ6')
search.click()
# 검색어 입력
search.send_keys('아이폰 13')
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)
# 스크롤 사이 페이지 로딩 시간
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,".basicList_info_area__0T9JD")
for item in items:
name = item.find_elements(By.CSS_SELECTOR,".basicList_title__VfX3c").text
try:
price = item.find_elements(By.CSS_SELECTOR,".price_num__S2p_v").text
except:
price = '판매중단'
link = item.find_elements(By.CSS_SELECTOR, ".basicList_title__VfX3c > a").get_attribute('href')
print(name, price, link)
.py:10: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
이렇게 터미널에 계속 오류가 뜨는데 어디가 문제 인지 모르겠습니다ㅠㅠㅠ 알려주세요ㅠㅠㅠ 셀레니움 4.0 버전 가이드 강의도 다 듣고 한건데도ㅠㅠ계속 오류가 납니다
답변 1
0
# 브라우저 생성
browser = webdriver.Chrome('/Users/gimsuyeon/Desktop/현프파이썬/네이버쇼핑크롤링/chromedriver')
이부분을 삭제해 보세요 ^^