본문 바로가기
Python/Selenium

selenium.webdriver.get_screenshot_as_file로 파일로 저장하기

by PySun 2025. 1. 24.
반응형

셀레니움(Selenium): 웹 페이지 스크린샷을 파일로 저장하기

웹 자동화가 주목받고 있는 요즘, 셀레니움(Selenium)은 웹 페이지의 스크린샷을 쉽게 캡쳐하여 파일로 저장할 수 있는 훌륭한 도구입니다. 이 포스팅에서는 selenium.webdriver.get_screenshot_as_file 메소드를 활용하여 웹 페이지의 스크린샷을 파일로 저장하는 방법을 소개합니다.

selenium.webdriver.get_screenshot_as_file 메소드 소개

get_screenshot_as_file 메소드는 현재 웹 페이지의 화면을 캡쳐하여 지정한 경로에 이미지 파일 형태로 저장합니다. 이미지 파일의 형식은 PNG로 저장되며, 이를 통해 웹 자동화의 시각적 결과를 손쉽게 확인할 수 있습니다.

함수 시그니처

driver.get_screenshot_as_file(filename)

매개변수:

  • filename: 스크린샷을 저장할 파일 경로 및 이름을 지정합니다. (예: "screenshot.png")

반환 값:

  • 스냅샷이 성공적으로 저장되면 True를 반환하며, 실패하면 False를 반환합니다.

사용 예제

기본 예제

다음은 get_screenshot_as_file 메소드를 사용하여 특정 웹 페이지의 스크린샷을 저장하는 기본 예제입니다.

from selenium import webdriver

# 웹 드라이버 초기화
driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get("https://www.example.com")

# 스크린샷 저장
screenshot_path = "example_screenshot.png"
if driver.get_screenshot_as_file(screenshot_path):
    print(f"스크린샷이 {screenshot_path}로 저장되었습니다.")
else:
    print("스크린샷 저장 실패.")

# 드라이버 종료
driver.quit()

다양한 웹 페이지의 스크린샷 예제

여러 웹 페이지의 스크린샷을 저장하는 예제도 살펴보겠습니다.

from selenium import webdriver
import time

# 웹 드라이버 초기화
driver = webdriver.Chrome()

# 웹 페이지 배열
urls = ["https://www.example.com", "https://www.wikipedia.org", "https://www.google.com"]

for i, url in enumerate(urls):
    driver.get(url)
    time.sleep(2)  # 페이지 로딩 시간 대기
    
    # 스크린샷 저장
    screenshot_path = f"screenshot_{i + 1}.png"
    if driver.get_screenshot_as_file(screenshot_path):
        print(f"{url}의 스크린샷이 {screenshot_path}로 저장되었습니다.")
    else:
        print(f"{url}의 스크린샷 저장 실패.")

# 드라이버 종료
driver.quit()

결론

selenium.webdriver.get_screenshot_as_file 메소드는 웹 페이지를 시각적으로 확인할 수 있는 편리한 방법입니다. 원하는 페이지의 스크린샷을 캡쳐하여 프로젝트 문서나 리포트에 활용해 보세요!

  • get_screenshot_as_file 메소드를 통해 웹 자동화의 결과물을 저장하며, 사용자에게 더 나은 경험을 제공하세요!
  • 스크린샷을 통해 웹 페이지의 변화나 테스트 결과를 시각적으로 검증해 보세요!
반응형