콘솔워크

기존 창을 닫고 새 창에 새로운 url을 띄우기 위해 만든 함수 본문

프로그래밍/python

기존 창을 닫고 새 창에 새로운 url을 띄우기 위해 만든 함수

이휘재123 2023. 6. 9. 12:11
반응형
    def switch_to_screen(self):
        driver: webdriver.Chrome = self.driver

        url = '이동할 url'

        # 창을 여는 javascript, 새 창에서 열리게 된다.
        driver.execute_script(f"window.open('{url}')")
        time.sleep(1)

        # driver.window_handles
        tabs = driver.window_handles

        # 새 창이 열리지 않았다면 작업 실패
        if len(tabs) == 1:
            raise Exception("새 창에 진입하지 못했습니다.")

        # 새 창이 열렸다면 기존 창을 닫고 tab 전환
        try:
            driver.close()

        except Exception as e:
            print(str(e))

        finally:
            driver.switch_to.window(driver.window_handles[-1])

        # 현재 활성화 된 창이 새 창인지 검증
        try:
            screen_title = driver.find_element(By.XPATH, '해당 창에 있는 webelement')

        except Exception as e:
            print(str(e))
            raise Exception("새 창이 활성화되지 않았습니다.")

        time.sleep(1)
반응형