본문 바로가기
Python/Selenium

Selenium hover로 마우스 오버하기

by PySun 2025. 4. 23.
반응형

Selenium Hover: 마우스 오버로 웹 요소를 제어하기

웹 자동화의 맥락에서 Selenium은 강력한 도구이지만, 그 기능은 여기서 끝나지 않습니다! 특히 마우스를 움직이는 것, 즉 hover 동작은 웹 요소와 상호작용하는 데 매우 중요합니다. 이 포스팅에서는 Selenium을 사용하여 마우스 오버를 구현하는 방법을 살펴보겠습니다.

Selenium Hover 기능 소개

Hover 기능은 특정 요소에 마우스를 올릴 때 발생하는 이벤트입니다. 이를 통해 드롭다운 메뉴를 열거나 추가 정보를 표시하는 등의 기능을 포함한 다양한 상호작용을 구현할 수 있습니다. Selenium에서는 ActionChains 클래스를 사용하여 이러한 동작을 쉽게 수행할 수 있습니다.

ActionChains 클래스 시그니처

from selenium.webdriver.common.action_chains import ActionChains

매개변수:

  • driver: Selenium WebDriver 인스턴스입니다.

반환 값:

  • ActionChains 객체를 반환하여 이후의 여러 동작을 연쇄적으로 수행할 수 있습니다.

사용 예제

기본적인 Hover 예제

이제 마우스 오버를 구현하는 기본 예제를 살펴보겠습니다.

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

# 웹 드라이버 설정
driver = webdriver.Chrome()
driver.get('https://www.example.com')  # 방문할 웹사이트 주소

# 요소 선택
element_to_hover = driver.find_element_by_css_selector('.your-css-selector')

# Hover 수행
actions = ActionChains(driver)
actions.move_to_element(element_to_hover).perform()

# 잠시 대기
time.sleep(2)  # 효과를 보기 위해 잠시 대기

# 브라우저 닫기
driver.quit()

드롭다운 메뉴와 Hover 연동하기

마우스를 올렸을 때 드롭다운 메뉴가 활성화되는 예를 살펴보겠습니다.

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

# 웹 드라이버 설정
driver = webdriver.Chrome()
driver.get('https://www.example.com')  # 주소를 바꿔주세요!

# 드롭다운 메뉴를 포함한 요소 선택
menu_element = driver.find_element_by_css_selector('.menu-selector')
submenu_element = driver.find_element_by_css_selector('.submenu-selector')

# Hover 수행 및 서브 메뉴 클릭
actions = ActionChains(driver)
actions.move_to_element(menu_element).perform()
time.sleep(1)  # 서브 메뉴가 표시될 때까지 대기

# 서브 메뉴 클릭
submenu_element.click()

# 잠시 대기
time.sleep(2)

# 브라우저 닫기
driver.quit()

결론

Selenium을 통해 마우스 오버를 활용하면 웹 상의 다양한 요소와 상호작용할 수 있습니다. 드롭다운 메뉴를 여는 것부터 추가 정보 표시 등 다양한 UI 기능을 제어할 수 있기 때문에, 적절한 사용법을 이해하는 것이 매우 중요합니다.

  • Selenium의 ActionChains를 활용하여 마우스 오버를 자유롭게 제어해 보세요!
  • 지금 바로 Selenium을 사용하여 더 매력적인 웹 자동화를 경험해 보세요!
반응형