문제
크롤링 하는 도중에 아래와 같은 에러가 발생했다.
selenium.common.exceptions.ElementClickInterceptedException:
Message: element click intercepted:
Element <li class="page-item">...</li> is not clickable at point (855, 838).
Other element would receive the click:
<iframe id="aswift_4" name="aswift_4" style="width: 1005px !important; height: 124px !important; display: block; margin: 0px auto;" sandbox="allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation"
width="1005" height="124" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" src="https://googleads.g.doubleclick.net/pagead/html/r20220921/r20110914/zrt_lookup.html?...
<li>를 클릭하고자 했는데 다른 element 때문에 불가능하다는 것이다.
확인해보면 사이트 하단에 구글 광고가 있었다.
처음에는 ▽ 버튼을 눌러 해당 광고를 꺼보려고 노력했으나..
불가능했다.
※ 자세한 이유는 여기서..
해결방법
그래서 생각해낸 방법은
Webdriver에 Adblock extension을 설치하는 것!
1. Adblock crx 파일 다운로드
crx 파일을 다운 받아 프로젝트 파일에 넣는다.
https://www.crx4chrome.com/crx/31927/
2. 코드
options = webdriver.ChromeOptions()
options.add_extension('extension_5_1_2_0.crx')
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
이제 광고의 방해 없이 크롤링 성공
반응형
'💻 개발IT > 기타' 카테고리의 다른 글
[Python] 위키피디아(한국어) 데이터 가져오기 (1) | 2023.02.08 |
---|---|
[FastText] 단어 유사도 구현하기 (0) | 2023.02.07 |
[Word2Vec] 단어 유사도 구현하기 (0) | 2023.02.01 |
[Gensim] The vocab attribute was removed from KeyedVector in Gensim 4.0.0. (0) | 2023.01.29 |
네이버 지도 API에서 지도 겹침 문제 (0) | 2022.09.22 |
[HTML] Shadow DOM 이란? (feat. 크롤링 실패) (1) | 2022.09.17 |
[HTML/CSS] cell sticky table 생성 (0) | 2022.09.14 |
[nvm] Error: Permission denied @ apply2files - /usr/local/lib/node_modules/expo-cli/node_modules/.bin/detect-libc (0) | 2022.09.13 |