-
python 으로 웹페이지 전체 캡춰(스크롤 캡춰) 하기python/기타 2021. 11. 25. 17:48
웹페이지를 캡춰할 때 페이지가 길 경우 하단까지 캡춰를 해야할 경우가 있습니다.
갯수가 많을 경우 일반 캡춰 프로그램으로 일일이 캡춰하기가 어려워서 프로그램으로 캡춰 하는 방식을 공유드립니다.
일단 python , selenium 을 이용하셔서 자동으로 캡춰하실 수 있습니다.
자세한 소스 보다는 개념위주로 설명드립니다.
기본 개념은 사이트를 열때 selenium headless 모드로 사이트를 연 다음 자바스크립트로 웹페이지의 높이를 계산한 다음 창 사이즈를 높이 만큼 조정합니다. 그런다음 캡춰를 하게 되면 전체 사이즈로 캡춰가 가능해지는 방법입니다.
webdriverOptions = webdriver.ChromeOptions() webdriverOptions.add_argument('headless') driver = webdriver.Chrome(options=webdriverOptions) driver.get('https://www.naver.com/') # 기본 사이즈를 설정합니다. self.driver.set_window_size(1920,500) totalWidth = self.driver.execute_script("return document.body.offsetWidth") totalHeight = self.driver.execute_script('return document.body.parentNode.scrollHeight') # 화면의 실제 사이즈로 변경합니다. driver.set_window_size(totalWidth, totalHeight) # 화면캡춰 el = self.driver.find_element(By.TAG_NAME, 'body') el.screenshot('main.png') driver.quit()
반응형'python > 기타' 카테고리의 다른 글
Python 에서 ADB 제어하기 - 2 ( 연결 ) (0) 2021.12.07 Python 에서 ADB 제어하기 - 1 (0) 2021.12.07 Split The Screen - 창 분할 프로그램 (0) 2021.11.24 [AutoRealod] 자동 새로고침 프로그램 (0) 2021.11.03 python pyQt5 모니터 관련 함수 (0) 2021.10.22