Python) Selenium IE Driver Pop-up 처리

2021. 2. 1. 16:56Python

728x90
반응형

회사 인트라넷 페이지 관련하여 개인적으로 Python 으로 프로그램을 만드는 중에

막히는 부분이 생겼는데 바로 '팝업' 이 발생하면 어떻게 처리할 지 막혔었습니다.

해결하는 방법은 Switch_to_alert() 으로 처리할 수 있다고 하여 구글링을 좀 하니까 찾아냈습니다.

우선 '팝업'이 발생하면 엔터처리하는 것 뿐만아니라 발생한 팝업의 문구를 취득하여

예외처리 및 조건문을 작성할 수 있을 것 같아 팝업 내의 텍스트도 가져오는 방법을 찾았습니다.

예를 들어 Selenium으로 자동화를 하는 중

비밀번호를 입력하라는 팝업, 아이디를 입력하라는 팝업, 서버 오류가 있어서 안들어가지는 팝업

등을 문구로 취득을 해 조건문으로 분기를 하면 좋을 것 같은데

생각보다 간단한 방식으로 해결할 수 있었습니다.

try:
    result = drv.switch_to_alert()
    print(result.text)
except:
    "popup : nothing"




위 와같이 drv.switch_to_alert() 을 이용하여 처리를 하게 되는데

팝업의 text를 위 와 같이 출력할 수 있습니다.

'팝업' 을 확인 및 닫기 하는 법

try:
    result = drv.switch_to_alert()
    print(result.text)

    # Alert 창 확인
    result.accept()
    # Alert 창 닫기
    result.dismiss()

except:
    "popup : nothing"

 

728x90
반응형