본문 바로가기
Python/Selenium

Selenium: Alert에 텍스트 입력하기

by PySun 2025. 4. 10.
반응형

Selenium: 브라우저 Alert에 텍스트 입력하기

웹 자동화 도구 Selenium은 웹 애플리케이션의 테스트와 작업을 간소화하는 데 유용한 라이브러리입니다. 웹 페이지에서 사용자가 입력하는 Alert 창을 처리하는 것은 종종 필요합니다. 이 포스팅에서는 Alert 창에 텍스트를 입력하는 방법에 대해 소개합니다.

Selenium Alert 다루기

웹 페이지의 Alert는 자바스크립트로 생성되는 모달 대화 상자입니다. 기본적으로 사용자가 텍스트를 입력할 수 있는 프로프트 형식의 Alert을 생성할 수 있습니다. Selenium에서는 이러한 Alert를 조작하는 여러 메서드를 제공합니다.

Alert 객체

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

필수 메서드

  • switch_to.alert: 현재 페이지의 Alert 객체로 전환합니다.
  • send_keys(): Alert에 텍스트를 입력할 수 있습니다.
  • accept(): Alert을 확인하고 닫습니다.
  • dismiss(): Alert을 취소합니다.

사용 예제

기본 예제

다음은 웹 페이지에서 Alert에 텍스트를 입력하는 기본적인 예제입니다.

driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get('https://example.com')  # 실제 Alert을 테스트할 웹 페이지 URL로 변경하세요.

# Alert 호출 버튼 클릭
button = driver.find_element(By.ID, 'showAlertButton')
button.click()

# Alert로 전환
alert = WebDriverWait(driver, 10).until(EC.alert_is_present())

# 텍스트 입력
alert.send_keys('Hello, this is a test!')

# Alert 확인
alert.accept()

driver.quit()

다양한 입력 예제

Alert에 입력할 텍스트를 다양한 상황에서 확인해 볼 수 있습니다.

# 프로프트 Alert 호출 예제
def input_alert_example(input_text):
    driver = webdriver.Chrome()
    driver.get('https://example.com')  # 실제 Alert을 테스트할 웹 페이지 URL로 변경하세요.

    # Alert 호출 버튼 클릭
    button = driver.find_element(By.ID, 'showAlertButton')
    button.click()

    # Alert로 전환
    alert = WebDriverWait(driver, 10).until(EC.alert_is_present())

    # 텍스트 입력
    alert.send_keys(input_text)

    # Alert 확인
    alert.accept()

# 여러 입력 값 테스트
input_alert_example('Test input 1!')
input_alert_example('Another test input!')

driver.quit()

결론

Selenium을 사용하면 웹 페이지의 Alert에 텍스트를 손쉽게 입력하고 처리할 수 있습니다. 이는 웹 테스트 과정에서 사용자 상호작용을 더욱 매끄럽게 만드는 데 큰 도움이 됩니다.

  • Selenium을 통해 다양한 Alert 상황을 자동화하여 효율성을 높여보세요!
  • 지금 바로 다양한 Alert에 텍스트를 입력해보며 Selenium의 기능을 탐험해보세요!
반응형

'Python > Selenium' 카테고리의 다른 글

Selenium: CSS_SELECTOR로 요소 찾기  (0) 2025.04.11
Selenium: CLASS_NAME으로 요소 찾기  (0) 2025.04.11
Selenium: Alert 거부하기  (0) 2025.04.10
Selenium: Alert 승인하기  (0) 2025.04.09
Selenium: Alert 팝업 처리하기  (0) 2025.04.08