Programing/Python

[Selenium] handle

hye3193 2024. 4. 5. 01:37

셀레니움을 통해 웹페이지를 탐색하다 새로운 창이 뜨더라도 기존 창에서만 조작이 가능하고, 새로운 창의 요소에 대해서는 접근을 하지 못한다

따라서 handle을 변경하여 새로운 창에서도 요소들을 가져올 수 있게 해보겠다

 

main_window = driver.current_window_handle

이렇게 현재 창을 가져올 수 있다

 

for handle in driver.window_handles:
    if handle != main_window:
        driver.switch_to.window(handle)
        break

전체 창은 driver.window_handles로 가져올 수 있고, switch_to.window() 함수를 이용해 handle을 변경할 수 있다

main_window가 아닌 window_handle은 곧 새로 열린 창이란 의미이니 해당 창으로 이동하도록 위와 같이 코드를 작성한다

 

 

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

[Selenium] Expected Conditions(EC)  (0) 2024.04.05
[Selenium] 드롭다운 메뉴 선택하기  (0) 2024.04.05
[Selenium] iframe  (0) 2024.04.05
[Selenium] 파이썬으로 Chrome 조작하기  (0) 2024.04.05