프로그래밍/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)
반응형