Python Selenium을 사용하여 웹 사이트 아래로 스크롤

Fariba Laiq 2023년10월10일
  1. Selenium 및 Chrome WebDriver 설치
  2. Python Selenium을 사용하여 웹 사이트 아래로 스크롤
Python Selenium을 사용하여 웹 사이트 아래로 스크롤

때로는 웹 사이트에서 스크롤하는 것과 같이 브라우저에서 작업을 자동화하고 싶을 수 있습니다. Python에는 Selenium이라는 강력한 웹 자동화 도구가 있습니다.

웹 브라우저를 제어하고 특정 작업을 자동으로 수행할 수 있습니다. 웹 사이트에서 가로 및 세로로 자동으로 스크롤되는 스크립트를 작성할 수 있습니다.

Selenium 및 Chrome WebDriver 설치

Selenium을 설치하려면 다음 명령을 사용합니다.

#Python 3.x
pip install selenium

ChromeDriver는 Selenium WebDriver가 Chrome과 상호 작용하는 데 사용하는 또 다른 실행 파일입니다. Chrome 웹 브라우저에서 작업을 자동화하려면 ChromeDriver도 설치해야 합니다.

Chrome 브라우저의 버전에 따라 호환되는 드라이버를 선택해야 합니다. 다음은 Chrome 드라이버를 설치하고 구성하는 단계입니다.

  1. 링크를 클릭하세요. Chrome 브라우저의 버전과 운영 체제 유형에 따라 Chrome 드라이버를 다운로드합니다.
  2. Chrome 브라우저의 버전을 확인하려면 Chrome 오른쪽 상단 모서리에 있는 세 개의 점을 클릭하고 도움말을 클릭한 다음 Google Chrome 정보를 선택합니다. 정보 섹션에서 Chrome 버전을 확인할 수 있습니다.
  3. zip 파일의 압축을 풀고 Chrome 드라이버를 실행합니다.

Python Selenium을 사용하여 웹 사이트 아래로 스크롤

통사론:

driver.execute_script("window.scrollBy(x_pixels, y_pixels);")

여기서 x_pixels는 가로로 스크롤할 픽셀 수(x축)를 나타내고 y_pixels는 세로로 스크롤할 픽셀 수(y축)를 나타냅니다. 이 가이드에서는 x_pixels가 0이 되도록 수직으로만 스크롤합니다.

지정된 픽셀로 아래로 스크롤

다음 코드에서 WebDriver 인스턴스를 만들고 Chrome 드라이버의 경로를 지정했습니다. 그런 다음 get() 메서드를 사용하여 대상 웹 사이트의 URL을 드라이버 인스턴스로 설정했습니다.

원하는 브라우저에서 대상 웹사이트를 엽니다. maximize_window()를 사용하여 더 나은 그림을 위해 Chrome 창을 최대화했습니다.

Selenium에는 execute_script() 메소드를 통해 JavaScript 명령을 실행하는 기능이 있습니다. window.scrollBy() 메서드를 사용하여 자동으로 1000픽셀 아래로 스크롤하고 이 명령을 JavaScript 실행기에 전달했습니다.

웹 사이트는 자동으로 세로로 1000픽셀 아래로 스크롤됩니다.

예제 코드:

# Python 3.x
from selenium import webdriver

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, 1000);")

출력:

셀레늄 픽셀 아래로 스크롤

웹사이트 맨 아래로 스크롤

페이지의 전체 맨 아래로 스크롤하려고 한다고 가정합니다. document.body.scrollHeight는 페이지의 총 높이를 픽셀 단위로 제공합니다.

이 높이를 아래로 스크롤할 픽셀 수로 지정합니다.

예제 코드:

# Python 3.x
from selenium import webdriver

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, document.body.scrollHeight);")

출력:

셀레늄 아래로 스크롤

작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

관련 문장 - Python Selenium