가이드라인

자주 사용하는 Selenium 메서드

이번 수업에서는 Selenium에서 자주 사용되는 추가 메서드들을 소개합니다.


implicitly_wait 메서드로 페이지 로드 대기하기

웹 페이지마다 로딩 속도가 다르기 때문에, 특정 요소가 나타날 때까지 기다려야 하는 상황이 자주 발생합니다.

implicitly_wait 메서드는 최대 대기 시간을 설정하여 페이지 로드를 대기합니다.

페이지 로딩 대기 예시
from selenium import webdriver # Chrome 웹 드라이버 생성 driver = webdriver.Chrome() # 페이지 로드에 최대 10초까지 대기 driver.implicitly_wait(10) # 특정 URL로 이동 driver.get("https://www.example.com")

implicitly_wait 메서드를 사용하면 불필요한 시간 낭비 없이 페이지가 완전히 로드될 때까지 대기할 수 있습니다.


WebDriverWait 클래스로 특정 조건이 충족될 때까지 대기하기

WebDriverWait 클래스를 사용하면 특정 조건(예: 특정 HTML 요소가 존재하는지, 클릭 가능한지)이 충족될 때까지 대기할 수 있습니다.

예를 들어 expected_conditions 모듈의 presence_of_element_located 메서드와 함께 사용하면 특정 요소가 나타날 때까지 대기할 수 있습니다.

아래 코드는 특정 요소가 나타날 때까지 최대 10초까지 대기하는 예시입니다.

presence_of_element_located 메서드 예시
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # myDynamicElement가 나타날 때까지 최대 10초까지 대기 element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "myDynamicElement")) )

자주 사용하는 expected_conditions 메서드

  • presence_of_element_located : 요소가 나타날 때까지 대기

  • element_to_be_clickable : 요소가 클릭 가능할 때까지 대기

  • text_to_be_present_in_element : 요소에 특정 텍스트가 포함될 때까지 대기


Select 클래스로 드롭다운 메뉴 선택하기

웹 페이지의 드롭다운 메뉴에서 특정 항목을 선택해야 할 때는 Select 클래스를 사용합니다.

아래 코드는 드롭다운 메뉴에서 "Option 1"을 선택하는 예시입니다.

드롭다운 메뉴 선택 예시
from selenium.webdriver.support.ui import Select # 드롭다운 메뉴 요소 찾기 select_element = driver.find_element("id", "dropdownMenu") # Select 객체 생성 select = Select(select_element) # Option 1 선택 select.select_by_visible_text("Option 1")

save_screenshot 메서드로 스크린샷 저장하기

자동화 작업 중에 특정 시점의 웹 페이지 상태를 기록하거나 문제를 디버깅할 때, save_screenshot 메서드를 사용해 스크린샷을 저장할 수 있습니다.

참고: 현재 save_screenshot 메서드는 실습 환경에서는 지원되지 않습니다. 컴퓨터에 파이썬과 selenium 라이브러리를 설치하고 실행하면 작동하는 것을 확인할 수 있습니다.

스크린샷 저장 예시
from selenium import webdriver # Chrome 웹 드라이버 생성 driver = webdriver.Chrome() # 특정 웹 페이지 열기 driver.get('https://www.example.com') # 스크린샷 파일 저장 (실습 환경에서는 지원되지 않습니다) driver.save_screenshot("screenshot.png") # 브라우저 종료 driver.quit()

save_screenshot 메서드는 현재 브라우저 화면을 이미지 파일로 저장합니다.

Mission
0 / 1

Selenium에서 특정 웹 페이지가 완전히 로드될 때까지 기다리는 데 사용하는 메서드는 무엇인가요?

웹 페이지 로딩을 대기하려면 메서드를 사용합니다.
implicitly_wait
select_by_visible_text
save_screenshot
find_element

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과