본문 바로가기
python3 selenium

python3 selenium 브라우저 팝업,탭 이동

by Pymac 2023. 11. 19.
반응형
      # 현재 창 핸들 저장 (처음 창)
        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)
반응형