Selenium, 윈도우 최대화, 윈도우 스크롤 내리기
글. 수알치 오상문
다음처럼 browser라는 인스턴스를 생성했다고 가정합니다.
import time
from selenium import webdriver
browser = webdriver.ChromeDriver() # 크롬 드라이버 지정
browser.maximize_window() # 브라우저 창 최대 크기로 지정
url = "접속할 웹주소"
browser.get(url)
time.sleep(5) # 로딩할 때까지 5초간 기다림
1. 지정 위치만큼 현재 화면을 아래로 스크롤
brower.execute_script("window.scrollTo(0, 1024)") # 수직으로 1080px 스크롤
2. 현재 문서 가장 하단까지 스크롤 (화면 아래쪽으로... )
brower.execute_script("window.scrollTo(0, document.body.scrollHeight)")
# document.body.scrollHeight : 현재 문서 전체 높이
3. 문서 가장 끝까지 내리기 (동적 제공하는 데이터가 끝날 때까지)
while True:
# 현재 문서 기준 높이 저장 : 0 ?
prev_heigth = brower.execute_script("return document.body.scrollHeight")
# 아래로 스크롤
brower.execute_script("window.scrollTo(0, document.body.scrollHeight)")
time.sleep(3) # 로딩이 올래 걸리는 사이트는 시간을 더 크게 잡아주자
now_heigth = brower.execute_script("return document.body.scrollHeight")
# 만약 스크롤해도 문서 기준 높이가 변하지 않으면, 더 이상 없으므로 빠져나감
if prev_heigth == now_height:
break
prev_heigth = now_height # 현재 기준 높이 새로 저장
더 자세한 내용은 아래 동영상을 참고하세요,
https://www.youtube.com/watch?v=yQ20jZwDjTE
'웹 크롤링, 스크래핑' 카테고리의 다른 글
봇 접근 차단 사이트 접속 (0) | 2022.07.09 |
---|---|
Selenium 기본 예제 2 (0) | 2022.07.09 |
Selenium - 동적 사이트 테이블 Crawling (!!!) (0) | 2022.07.04 |
Selenium 웹 테이블, 프레임 및 동적 요소 처리 (0) | 2022.07.04 |
셀레니움 동적 테이블 처리 (Java) (0) | 2022.07.04 |