셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll

2024. 1. 14. 11:59·파이썬/크롤링
반응형

오늘은 셀레니움을 사용하여 웹 페이지를 스크롤하는 방법에 대해 알아보겠습니다.

셀레니움은 웹 브라우저를 제어할 수 있는 오픈 소스 프레임워크입니다. 웹 페이지를 자동으로 탐색하거나 테스트하는 데 사용됩니다.

셀레니움으로 웹 페이지를 스크롤하는 방법은 크게 세 가지가 있습니다.

 

1. 원하는 높이 Y까지 스크롤하기

driver.execute_script("window.scrollTo(0, Y)")

위 코드는 window.scrollTo() 메서드를 사용하여 Y 높이까지 스크롤합니다. Y는 스크롤 위치를 지정하는 숫자입니다.

예를 들어, 다음 코드는 웹 페이지의 맨 위에서 100픽셀 아래로 스크롤합니다.

driver.execute_script("window.scrollTo(0, 100)")

 

2. 문서의 끝까지 1회 스크롤하기

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

위 코드는 document.body.scrollHeight 속성을 사용하여 웹 페이지의 끝까지 스크롤합니다.

 

3. 문서의 제일 끝까지 스크롤하기

SCROLL_PAUSE_TIME = 0.5

# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # Scroll down to bottom
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # Wait to load page
    time.sleep(SCROLL_PAUSE_TIME)

    # Calculate new scroll height and compare with last scroll height
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

위 코드는 while 루프를 사용하여 웹 페이지의 끝까지 스크롤합니다. SCROLL_PAUSE_TIME 변수는 스크롤이 완료될 때까지 기다리는 시간(초)입니다.

 

4. Page Down 키를 이용한 스크롤하기

driver.find_element(By.XPATH, '/html/body').send_keys(Keys.PAGE_DOWN)

위 코드는 Keys.PAGE_DOWN 키를 사용하여 웹 페이지를 한 페이지 아래로 스크롤합니다.

 

5. 내가 원하는 요소가 가운데 오도록 스크롤하기

driver.execute_script("arguments[0].scrollIntoView({block : 'center'});", 원하는 요소)

위 코드는 scrollIntoView() 메서드를 사용하여 원하는 요소가 웹 페이지의 가운데에 오도록 스크롤합니다. block 속성은 스크롤 방향을 지정합니다. center를 지정하면 스크롤이 요소의 가운데로 이루어집니다.

 

이렇게 다양한 방법으로 셀레니움을 사용하여 웹 페이지를 스크롤할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'파이썬 > 크롤링' 카테고리의 다른 글

셀레니움에서 이미지 비활성화 : 최적화  (0) 2024.01.29
셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법  (2) 2024.01.28
셀레니움의 키보드 : selenium.webdriver.common.keys  (1) 2024.01.24
웹 자동화의 핵심 : 셀레니움의 WebElement 란?  (0) 2024.01.23
셀레니움 요소 찾기 : find_element와 find_elements  (0) 2024.01.19
'파이썬/크롤링' 카테고리의 다른 글
  • 셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법
  • 셀레니움의 키보드 : selenium.webdriver.common.keys
  • 웹 자동화의 핵심 : 셀레니움의 WebElement 란?
  • 셀레니움 요소 찾기 : find_element와 find_elements
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (710) N
      • 상품 추천 (211) N
      • MongoDB (4)
      • 하드웨어 (14)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (13) N
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (41) N
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    cv2
    Python
    셀레니움
    유니티
    list
    라떼우유
    devlife
    긴유통기한우유
    리뷰관리
    쇼핑몰리뷰
    appdevelopment
    스마트스토어리뷰
    ipcamera
    C#
    learntocode
    상품 리뷰 크롤링
    programmerlife
    리스트
    codingtips
    카페24리뷰이관
    스크립트 실행 순서
    카페24리뷰
    파이썬
    rtsp
    unity
    programming101
    리뷰이관
    믈레코비타멸균우유
    codingcommunity
    스크립트 실행
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll
상단으로

티스토리툴바