3주차 과제 1 셀레니움

안녕하세요! 완성 된 코드 아래와 같이 공유드립니다 😄

# Selenium 라이브러리에서 필요한 모듈을 불러옵니다.
import time
from selenium import webdriver # 웹 브라우저를 자동으로 조작하기 위한 Webdriver를 불러옵니다.
from selenium.webdriver.chrome.service import Service # Service 클래스를 임포트합니다.
from selenium.webdriver.common.keys import Keys # 키보드 키를 사용하기 위한 Keys 클래스를 불러옵니다.
from selenium.webdriver.common.by import By # 요소를 찾을 때 사용할 방법을 지정하는 By 클래스를 불러옵니다.
from selenium.webdriver.support.ui import WebDriverWait # 특정 요소가 로드될 때까지 기다리는 기능을 사용하기 위해 불러옵니다.
from selenium.webdriver.support import expected_conditions as EC # 특정 조건이 만족될 때까지 기다리는 조건들을 제공하는 모듈을 EC로 축약하여 불러옵니다.

# 검색하고자 하는 검색어를 변수에 저장합니다. 이 부분을 원하는 검색어로 변경하세요.
search_term = '팝업스토어'

# Chrome WebDriver의 경로를 지정합니다. 다운로드한 WebDriver의 실제 경로를 입력허세요.
chrome_driver_path = "/opt/homebrew/bin/chromedriver"

# Service 객체를 생성하면서 ChromeDriver의 경로를 전달합니다.
service = Service(executable_path=chrome_driver_path)

# Chrome WebDriver를 사용하여 Chrome 브라우저 인스턴스를 생성합니다.
# 여기서는 service 키워드 인자를 사용하여 Service 객체를 전달합니다.
driver = webdriver.Chrome(service=service)

# 네이버 웹사이트로 이동합니다.
driver.get('https://www.naver.com')

# 검색창 요소를 찾습니다. 네이버 페이지의 HTML 구조에 따란 'name' 속성이 'query'인 input 요소를 찾습니다.
search_box = driver.find_element(By.NAME, 'query')

# 찾은 검색창에 앞서 지정한 검색어를 입력합니다.
search_box.send_keys(search_term)
#nx_query
# 검색을 실행합니다. 여기서는 엔터(Enter) 키를 눌러 검색을 수행합니다.
search_box.send_keys(Keys.RETURN)

# 검색 결과 페이지가 로드될 때까지 최대 10초간 기다립니다. 'main_pack'이라는 ID를 가진 요소가 로드될 때까지 대기합니다.
# 검색 결과 페이지의 구조에 따라 이 부분은 변경될 수 있습니다.
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, '#nx_query')))

# 작업을 마친 후, 브라우저를 닫습니다. 테스트 중이거나 후속 작업이 필요한 경우 이 줄을 주석 처리할 수 있습니다.
driver.quit()
3

👉 이 게시글도 읽어보세요