프로그래밍 연습하기

Python Selenium으로 웹 페이지 인쇄 자동화 하기 본문

Python

Python Selenium으로 웹 페이지 인쇄 자동화 하기

john.k 2019. 7. 5. 19:22
반응형

웹 페이지를 인쇄해서 출력물을 받아보는 방법을 찾아봤습니다.

그런데 평소 사용하던 Chromedriver로는 인쇄 자동화가 불가능 한 것으로 보입니다.

크롬에서 인쇄를 하면 인쇄 창이 뜨게 되는데 그 창을 제어할 방법이 없어서 직접 확인 버튼을 눌러야 합니다.

 

그래서 Firefox로 가능한 방법을 찾아보았습니다.

 

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

profile = webdriver.FirefoxProfile()
profile.set_preference("print.always_print_silent",True)
binary = FirefoxBinary(r'파이어폭스_실행파일_위치')
driver = webdriver.Firefox(firefox_profile=profile,firefox_binary=binary)

driver.get('출력할_웹_페이지')
driver.execute_script("window.print();")
driver.quit()

 

먼저 profile을 설정하여 print.always_print_silent 설정을 합니다.

이 설정은 파이어폭스에서 출력을 할 때 따로 인쇄창이 뜨지 않고 바로 프린터에서 출력을 할 수 있게 해줍니다.

그리고 driver.execute_script("window.print();") 코드는 해당 웹 페이지를 인쇄하는 자바스크립트 코드를 실행합니다.

이렇게 해서 추가적인 조작 없이 파이썬 코드를 실행하는 것 만으로 웹 페이지 인쇄를 할 수 있었습니다.

반응형
Comments