반응형

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 

 

반응형

+ Recent posts