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();") 코드는 해당 웹 페이지를 인쇄하는 자바스크립트 코드를 실행합니다.
이렇게 해서 추가적인 조작 없이 파이썬 코드를 실행하는 것 만으로 웹 페이지 인쇄를 할 수 있었습니다.
반응형