반응형
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를 활용해 다양한 브라우저 창을 간편하게 관리해보세요!
- 다중 창 작업을 통해 여러분의 자동화 역량을 한 단계 끌어올리세요!
반응형
'Python > Selenium' 카테고리의 다른 글
Selenium ChromeNotInstalledException 오류 해결하기 (0) | 2025.02.22 |
---|---|
selenium.accept로 경고창 수락하기 (0) | 2025.02.22 |
selenium.wait.until로 요소가 로드될 때까지 대기하기 (0) | 2025.02.22 |
Selenium CannotSwitchToWindowException 오류 해결하기 (0) | 2025.02.21 |
selenium WebDriverException: unknown error 오류 해결하기 (0) | 2025.02.21 |