본문 바로가기
Python/Selenium

selenium.webdriver.ActionChains로 동작 연쇄하기

by PySun 2025. 1. 16.
반응형

Selenium WebDriver의 ActionChains를 활용한 동작 연쇄하기

웹 자동화를 도와주는 Selenium ActionChains 클래스는 사용자가 웹 페이지에서 수행할 수 있는 다양한 동작을 연쇄적으로 실행할 수 있도록 설계되었습니다. 이 포스팅에서는 ActionChains의 기본 개념과 간단한 사용법을 소개하고, 여러 동작을 연속적으로 실행하는 방법에 대해 알아보겠습니다.

ActionChains 클래스 소개

ActionChains 클래스는 마우스 또는 키보드의 복잡한 조작을 구현할 수 있는 인터페이스를 제공합니다. 예를 들어, 클릭, 더블 클릭, 드래그 및 드롭, 키 입력 등을 체계적으로 수집하고 실행할 수 있습니다. 이를 통해 브라우저 내에서 다양한 시나리오를 자동화할 수 있습니다.

클래스 시그니처

from selenium.webdriver.common.action_chains import ActionChains

사용 방법:

  • 먼저, Selenium WebDriver ActionChains를 임포트합니다.
  • 웹 페이지의 요소를 찾은 후, ActionChains 객체를 생성하여 다양한 동작을 정의합니다.
  • 마지막으로, perform() 메서드를 호출하여 정의한 동작을 연속적으로 실행합니다.

사용 예제

기본적인 마우스 동작 연쇄

아래는 기본적인 마우스 클릭과 드래그 앤 드롭을 연쇄하는 예제입니다.

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By

# 브라우저 실행
driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get('https://example.com')  # 여기에 특정 웹 페이지 주소를 입력하세요

# 동작할 요소 찾기
source_element = driver.find_element(By.ID, 'source')  # 드래그할 요소
target_element = driver.find_element(By.ID, 'target')  # 드롭할 위치

# ActionChains 객체 생성
actions = ActionChains(driver)

# 동작 연쇄하기 (드래그 앤 드롭)
actions.click_and_hold(source_element).move_to_element(target_element).release().perform()

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

키보드 입력 포함 동작 연쇄 예제

이번에는 키 입력과 함께 클릭 동작을 연쇄해보겠습니다.

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# 브라우저 실행
driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get('https://example.com')  # 여기에 특정 웹 페이지 주소를 입력하세요

# 동작할 요소 찾기
input_field = driver.find_element(By.ID, 'inputField') # 입력할 필드

# ActionChains 객체 생성
actions = ActionChains(driver)

# 입력 필드 클릭 후 문자열 입력 예
actions.click(input_field).send_keys('Hello, Selenium!').send_keys(Keys.RETURN).perform()

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

결론

ActionChains를 활용하면 단순한 클릭과 같은 기본 동작에서 복잡한 조작까지 손쉽게 자동화할 수 있습니다. 이를 통해 시간과 노력을 절약하며, 반복적인 작업에 대한 효율성을 극대화할 수 있습니다. 지금 바로 ActionChains 클래스를 사용하여 귀하의 자동화를 한층 발전시켜 보세요!

  • 웹 페이지에서의 마우스 및 키보드 동작을 연쇄해 보세요!
  • 오늘부터 Selenium을 활용한 웹 자동화를 시작해 보세요!
반응형