Study_Note

selenium : python , 창 전환 본문

selenium (with python)

selenium : python , 창 전환

12월7일생 2023. 4. 28. 17:20
728x90
반응형

셀레니움에서 창 전환하는 방법은 window_handles 속성을 사용하는 것입니다. 

이 속성은 현재 세션에서 열린 모든 창의 핸들을 반환합니다. 

따라서 이를 이용하여 원하는 창으로 전환할 수 있습니다.

아래는 예시 코드입니다.

 

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.example.com")

# 현재 창의 핸들을 저장
main_window = driver.current_window_handle

# 새 창 열기
driver.execute_script("window.open('https://www.google.com');")

# 새로 열린 창으로 전환
for handle in driver.window_handles:
    if handle != main_window:
        driver.switch_to.window(handle)
        break

# 새 창에서 동작 수행
# ...

# 새 창 닫기
driver.close()

# 메인 창으로 전환
driver.switch_to.window(main_window)

driver.quit()

 

위 코드에서 driver.execute_script("window.open('https://www.google.com');")는 자바스크립트를 실행하여 새 창을 엽니다.

이후 driver.window_handles 속성을 사용하여 모든 창의 핸들을 확인하고, main_window과 다른 핸들을 가진 창으로 전환합니다.

환 이후에는 새 창에서 필요한 동작을 수행한 후, driver.close()를 사용하여 창을 닫습니다.

마지막으로 driver.switch_to.window(main_window)를 사용하여 메인 창으로 전환합니다.