python에서 쉽게 screenshot 저장하는 방법을 소개합니다
playwright (버전은 1.23.0 기준)를 이용하는 방법입니다
playwright는 브라우저를 다운로드 받아서, 실행시키고 화면에는 보여주지 않으나,
다양한 동작을 python으로 조작 가능하게 합니다
먼저 pip로 playwright와 requests를 설치합니다
pip install playwright
pip install requests
playwright가 설치가 되면, playwright가 필요로 하는 다른 파일들을 설치합니다
playwright install
그후에 아래처럼 코드를 작성하면 됩니다
#!/usr/bin/env python3
import time
from playwright.sync_api import sync_playwright
import requests
with sync_playwright() as p:
for browser_type in [p.firefox]:
browser = browser_type.launch()
page = browser.new_page()
page.goto('https://www.youtube.com/watch?v=1-iS7LArMPA') # NY Times Square live CCTV
img = page.screenshot(path=f'testshot1_{browser_type.name}.png')
for i in range(5):
print(f'waiting : {i}')
time.sleep(1)
ytplayer = page.query_selector("//div[@id='player-container-inner']");
ytplayer.screenshot(path='2shot.png')
browser.close()
그러면 전체화면 파일과, 동영상 플레이어만 있는 2shot.png의 파일 두개가 저장되어 완료됩니다