본문 바로가기
Python/Selenium

selenium.window_handles로 열린 창 핸들 리스트 확인하기

by PySun 2025. 2. 22.
반응형

Selenium window_handles: 열린 창 핸들 리스트 확인하기

웹 자동화 도구인 Selenium은 현대 웹 애플리케이션과 상호작용할 수 있는 강력한 라이브러리입니다. 이 포스팅에서는 window_handles 속성을 사용하여 현재 열려 있는 모든 브라우저 창의 핸들을 확인하는 방법을 소개합니다. 다양한 창을 다룰 때 유용한 이 기능을 통해 여러분의 자동화 작업을 한층 더 효율적으로 만들어 보세요!

selenium.window_handles 소개

window_handles는 Selenium WebDriver의 속성 중 하나로, 현재 열려 있는 모든 창 또는 탭의 핸들을 리스트 형태로 제공합니다. 이 리스트는 창 간 전환 시 필수적으로 요구됩니다.

특징

  • 브라우저의 모든 열려 있는 창이나 탭의 핸들을 반환합니다.
  • 리스트 형태로 반환되며, 각 핸들은 문자열입니다.
  • 창 간 전환을 쉽게 하고, 여러 창을 관리할 수 있게 돕습니다.

사용 예제

기본 예제

다음은 window_handles를 사용하여 여러 창의 핸들을 확인하는 간단한 예제입니다.

from selenium import webdriver
import time

# 브라우저 열기
driver = webdriver.Chrome()

# 첫 번째 사이트 열기
driver.get('https://www.example.com')

# 새로운 탭 열기
driver.execute_script('window.open("https://www.google.com", "_blank");')
time.sleep(2)  # 탭이 열리는 시간 대기

# 열린 창 핸들 리스트 확인
window_handles = driver.window_handles
print(f"Opened window handles: {window_handles}")

# 브라우저 종료
driver.quit()

다중 창 관리 예제

여러 창에서 작업을 수행하고 핸들을 전환하는 방법을 살펴보겠습니다.

from selenium import webdriver
import time

driver = webdriver.Chrome()

# 첫 번째 사이트 열기
driver.get('https://www.example.com')

# 두 번째 사이트 새 탭에서 열기
driver.execute_script('window.open("https://www.google.com", "_blank");')
time.sleep(2)

# 현재 열린 핸들 리스트 저장
handles = driver.window_handles

# 두 번째 탭으로 전환
driver.switch_to.window(handles[1])
print(f"Switched to window: {driver.title}")

# 작업 후 첫 번째 탭으로 돌아가기
driver.switch_to.window(handles[0])
print(f"Switched back to window: {driver.title}")

# 브라우저 종료
driver.quit()

결론

selenium.window_handles 속성은 열린 브라우저 창들을 효과적으로 관리하는 데 필수적입니다. 여러 창에서 작업할 때 꼭 필요한 이 기능을 통해 보다 원활한 웹 자동화를 경험해 보세요!

  • 지금 window_handles를 활용해 다양한 브라우저 창을 간편하게 관리해보세요!
  • 다중 창 작업을 통해 여러분의 자동화 역량을 한 단계 끌어올리세요!
반응형