반응형
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로 접속하여 크롤링을 진행하는 코드로 변경해주면 위의 에러는 해결된다.
반응형
'Python' 카테고리의 다른 글
[Crawling] 크롤링한 csv파일 불러와서 특수문자 제거하기 (0) | 2023.10.17 |
---|---|
[Crawling Error] enpyxl.utils.exceptions.IllegalCharacterError 해결하기 (0) | 2023.10.13 |
[Selenium] Selenium 이용해서 네이버 블로그 크롤링 (0) | 2023.10.13 |
[Python] 구글 코랩 .ipynb파일을 HTML파일로 변환하기 (0) | 2023.01.12 |
[Python] google colab 에서 구글 드라이브 연동하는 방법 (0) | 2022.12.28 |