IT 관련/파이썬

파이썬 selelium (자동 스크롤)

과정에서 오는 행복 2022. 5. 20. 12:59

[사전준비]

[코드]
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import WebDriverWait     # 추가 기능
from selenium.webdriver.support import expected_conditions as EC   # selenium을 처리할때 조건처리를 함
from webdriver_manager.chrome import ChromeDriverManager
import time

 

chrome_options = webdriver.ChromeOptions()
my_crawling_browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
my_crawling_browser.get(url=URL)
last_height = my_crawling_browser.execute_script("return document.body.scrollHeight")    
# 해당 페이지의 스크립트를 실행 (현재 화면의 높이를 측정)
 
print(last_height)  # 현재 높이 값을 알아봄 1669

while True :
    my_crawling_browser.execute_script("window.scrollTo(0, document.body.scrollHeight)")
    time.sleep(1)
    new_height = my_crawling_browser.execute_script("return document.body.scrollHeight")
    print(f"new_height : {new_height} | last_height : {last_height}")

    if last_height == new_height :      # 더이상 스크롤 할 게 없으면
        break
    last_height = new_height
 
time.sleep(3)       # 3초 기다렸다가

my_crawling_browser.quit()      # 웹브라우저 닫음

[결과]
print(f"new_height : {new_height} | last_height : {last_height}") 결과값


[실행결과]

처음페이지
1초 단위로 한페이지씩 스크롤됨

 

 

반응형