기본적인 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
클래스를 사용하면 더 간결하게 요소를 찾을 수 있습니다.
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 강의를 등록해 주세요!