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