728x90
# 현재 페이지 높이 반환
browser.execute_script('return document.body.scrollHeight')
# 페이지 맨 아래로 scroll down
browser.execute_script('window.scrollTo(0, document.body.scrollHeight')
return document.body.scrollHeight == 0 일때 (ex. youtube.com)
return document.documentElement.scrollHeight 을 사용한다.
스크롤 내릴때마다 새로 로딩되는 페이지를 크롤링할때
페이지 맨 아래로 내리기
prev_height = browser.execute_script('return document.documentElement.scrollHeight')
while True:
browser.execute_script('window.scrollTo(0, document.documentElement.scrollHeight)')
time.sleep(2)
current_height = browser.execute_script('return document.documentElement.scrollHeight')
if prev_height == current_height: # 더이상 내려갈 페이지가 없다면
break
print(f'prev: {prev_height}, current: {current_height}')
prev_height = current_height
print('scroll done')
728x90
'Selenium' 카테고리의 다른 글
[selenium] Headless Chrome에서 user-agent 설정 (0) | 2022.07.26 |
---|---|
[bs4/selenium] 페이지 정보 가져오기 (0) | 2022.07.25 |