본문으로 건너뛰기
실습하기

기본적인 Selenium 메서드와 활용법

이번 수업에서는 Selenium에서 자주 사용되는 몇 가지 핵심 메서드를 살펴보겠습니다.


웹 페이지를 여는 get

Selenium에서 get 메서드는 특정 URL로 이동하는 가장 기본적인 메서드입니다.

브라우저 주소창에 URL을 입력하고 엔터를 누르는 것과 같은 동작을 수행합니다.

웹 페이지 열기 예시
from selenium import webdriver

# Chrome 웹 드라이버 생성
driver = webdriver.Chrome()

# 특정 URL로 이동
driver.get("https://www.example.com")

# 페이지 타이틀 출력
print(driver.title)

특정 요소를 찾는 find_element

웹 페이지에서 특정 HTML 요소를 찾을 때는 find_element 메서드를 사용합니다.

예를 들어 HTML 요소의 ID, 클래스 이름, HTML 태그 이름, XPath 등을 활용해 특정 HTML 요소를 찾을 수 있습니다.

참고 : XPath는 특정 요소나 속성을 선택하는 데 사용하는 경로 표현 언어입니다. 예를 들어 //h1는 페이지 내 모든 h1 요소를, //button[@id='exampleId']는 ID가 exampleId인 button 요소를 찾습니다.


웹 요소 찾기 예시
# ID로 요소 찾기
# find_element("id", "요소 ID")
element = driver.find_element("id", "exampleId")

# 클래스 이름으로 요소 찾기
# find_element("class name", "클래스 이름")
element = driver.find_element("class name", "exampleClass")

# HTML 태그 이름으로 요소 찾기
# find_element("tag name", "HTML 태그 이름")
element = driver.find_element("tag name", "button")

# XPath로 요소 찾기
# find_element("xpath", "XPath 표현식")
element = driver.find_element("xpath", "//button[@id='exampleId']")

Selenium에서 제공하는 By 클래스를 사용하면 더 간결하게 요소를 찾을 수 있습니다.

By 클래스를 사용한 요소 찾기 예시
from selenium.webdriver.common.by import By

# ID로 요소 찾기
element = driver.find_element(By.ID, "exampleId")

# 클래스 이름으로 요소 찾기
element = driver.find_element(By.CLASS_NAME, "exampleClass")

# 태그 이름으로 요소 찾기
element = driver.find_element(By.TAG_NAME, "button")

# XPath로 요소 찾기
element = driver.find_element(By.XPATH, "//button[@id='exampleId']")

선택한 요소에서 텍스트를 추출하려면 text 속성을 사용합니다.

요소의 텍스트 추출 예시
# 요소의 텍스트 추출
element_text = element.text

# 추출한 텍스트 출력
print(element_text)

HTML 요소를 클릭하는 click

웹 페이지에서 특정 HTML 요소를 클릭할 때는 click 메서드를 사용합니다.

버튼 클릭 예시
# 찾은 요소 클릭
element.click()

예를 들어 로그인 버튼을 자동으로 클릭하거나, 특정 링크를 따라가는 작업을 Selenium으로 처리할 수 있습니다.


텍스트를 입력하는 send_keys

입력 필드에 텍스트를 자동으로 입력하려면 send_keys 메서드를 사용합니다.

이 메서드는 사용자가 키보드로 입력하는 것처럼 텍스트를 입력합니다.

텍스트 입력 예시
# 입력 필드에 텍스트 입력
element.send_keys("Hello, World!")

로그인 폼에 ID와 비밀번호를 입력하는 것과 같은 작업을 자동화할 때 매우 유용합니다.


웹 페이지 닫기

브라우저를 닫는 quit

모든 작업을 마친 후 브라우저를 종료하고 싶다면 quit 메서드를 사용합니다.

quit 메서드는 열려 있는 모든 브라우저 창을 닫고 WebDriver 세션을 종료합니다.

브라우저 닫기 예시
# 브라우저 종료
driver.quit()

이렇게 하면 메모리 누수(Memory Leak, 메모리에 불필요한 데이터가 남아있는 현상)를 방지하고, 브라우저를 깔끔하게 종료할 수 있습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!