셀레니움에서 스크롤하는 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 란?  (1) 2024.01.23
셀레니움 요소 찾기 : find_element와 find_elements  (0) 2024.01.19
'파이썬/크롤링' 카테고리의 다른 글
  • 셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법
  • 셀레니움의 키보드 : selenium.webdriver.common.keys
  • 웹 자동화의 핵심 : 셀레니움의 WebElement 란?
  • 셀레니움 요소 찾기 : find_element와 find_elements
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (5)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바