본문 바로가기

Python

[Crawling] NoSuchFrameException and not able to identify element

반응형

Selenium을 이용한 블로그 크롤링을 진행하던 중

 

NoSuchFrameException and not able to identify element

 

위와 같은 에러를 만났다. 

 

NoSuchFrameException이 발생하여 요소를 식별할 수 없다는 에러였다.

 

이 에러가 발생한 이유는 크롤링하는 블로그별로 CSS형식이 달라서 발생한 문제였다.

 

필자가 진행하던 대부분의 블로그는 제목 및 본문을 'iframe'안에 담고 있어서 

 

iframe 안에서 제목 및 본문을 찾는 코드를 넣었는데, 형식이 다른 블로그들이 섞여있어

 

위와 같은 오류가 난 것이다.

 

 

    try:
        driver.switch_to.frame('mainFrame')
    except:
        driver.get(target_url)

 

이 오류의 해결책은 예외 처리를 활용하는 것이다. 

 

iframe의 ID가 mainFrame인 경우 프레임을 변경하고

 

그렇지 않을 경우, 해당 url로 접속하여 크롤링을 진행하는 코드로 변경해주면 위의 에러는 해결된다.

 

 

 

 

반응형