반응형
# 현재 창 핸들 저장 (처음 창)
first_window_handle = driver.window_handles[0]
# 새로 열린 탭의 핸들 얻기
new_window_handle = driver.window_handles[1]
# 새로 열린 탭으로 전환
driver.switch_to.window(new_window_handle)
# 다시 첫 번째 탭으로 전환
driver.switch_to.window(first_window_handle)
# 현재 창 핸들 저장 (처음 창)
first_window_handle = driver.window_handles[0]
# 모든 창 핸들 가져오기
all_window_handles = driver.window_handles
# 팝업 창 핸들 찾기 (예: 두 번째 창)
popup_window_handle = [handle for handle in all_window_handles if handle != first_window_handle][0]
# 팝업 창으로 전환
driver.switch_to.window(popup_window_handle)
# 팝업 창에서 필요한 동작 수행
# 팝업 창 닫기 (예: 팝업 창에서 닫기 버튼 클릭)
close_button_in_popup = driver.find_element_by_id("close_button_in_popup")
close_button_in_popup.click()
# 다시 처음 창으로 전환
driver.switch_to.window(first_window_handle)
# 팝업이 발생하면 핸들을 저장할 리스트
popup_handles = []
# 팝업 핸들 추가
for handle in driver2.window_handles:
popup_handles.append(handle)
# 메인 창 핸들 저장
main_window_handle = popup_handles.pop(0)
# 팝업 창으로 전환하며 닫기 버튼 클릭
for handle in popup_handles:
driver2.switch_to.window(handle)
# 팝업 창에서 닫기 버튼 클릭 (실제 웹 페이지에서 팝업 확인 필요)
close_button = wait(driver2, 10).until(EC.visibility_of_element_located((By.XPATH,'//input[@id="today_close"]')))
close_button.click()
# 메인 창으로 전환
driver2.switch_to.window(main_window_handle)
반응형