본문 바로가기

BLOG/웹크롤링

[웹크롤링] 팝업창(얼럿창) 해결 방법 - try / except

 

웹 크롤링을 하다보면, 특정 페이지에 팝업창(또는 얼럿창)이 있을 수 있는데요,

이러한 팝업창을 닫아주는 코드가 없다면 입력한 코드가 실행되지 않는답니다.

 

따라서 팝업창을 닫아주는 코드를 입력해야 하는데요, 이는 try문을 이용해서 쉽게 해결할 수 있습니다.

만약 try문을 사용하지 않고 팝업창을 닫는 코드를 실행하면, 팝업창이 나오면 잘 실행이 되지만 팝업창이 다시 나오진 않을 때 에러가 나기 때문입니다. 따라서 try문에는 팝업창을 닫는 코드를, except문에는 에러가 났을 때의 코드를 입력해주면 됩니다.

 

팝업창을 닫는 코드는 다음과 같습니다.

 

try :
    driver.find_element_by_xpath('XPath 경로').click()
except :
    print("알림창이 없습니다")

 

두 번째 줄에 driver.find_element_by_xpath('XPath 경로').click() 코드는 닫기 버튼의 xpath를 사용해서 해당 버튼을 누르라는 코드입니다.

 

 

예를 들어, 아래와 같은 네이버 뮤직 홈페이지에 다음과 같은 팝업창이 뜬다면,

 

 

아래와 같이 f12를 눌러 닫기 버튼의 태그가 적힌 부분을 찾고, 마우스 우클릭 > [Copy] > [Copy XPath를 누르면 xpath가 자동으로 복사된답니다.

 

 

그리고, 복사한 경로를 위에 코드에 입력하면 된답니다.

 

try :
    driver.find_element_by_xpath('//*[@id="app"]/div[2]/div/div/a[2]').click()
except :
    print("알림창이 없습니다")