iT邦幫忙

0

如何設定chromedriver要列印背景圖形

  • 分享至 

  • xImage

我要將網頁內容列印成PDF,但結果背景都是空白的
發現原因是chrome的背景圖形設定是預設-否
有查到該設定的語法是 'printBackground':True
卻不知道該如何把這句加到我的程式中,請大神們開釋,謝謝!

我的程式如下:

from selenium import webdriver
import json

chrome_options = webdriver.ChromeOptions()
appState = {
   'recentDestinations': [
      {
           'id': 'Save as PDF',
           'origin': 'local',
           'account': ''
      }
  ],
   'selectedDestinationId': 'Save as PDF',
   'version': 2
}
prefs = {
   'printing.print_preview_sticky_settings.appState': json.dumps(appState), 
   'savefile.default_directory': output_path,
   'download.default_directory': output_path,
}
chrome_options.add_experimental_option('prefs', prefs)
chrome_options.add_argument('--kiosk-printing')
driver = webdriver.Chrome(executable_path = r"C:\Users\User\Desktop\RPA\chromedriver.exe", options = chrome_options)

driver.get('https://icinfo.immigration.gov.tw/NIL_WEB/NFCData.aspx')
driver.execute_script('document.title="{}";'.format('居留證查詢.pdf'));
driver.execute_script('window.print();')
print('已另存為居留證查詢.pdf')
trenteric iT邦新手 5 級 ‧ 2022-05-02 14:16:40 檢舉
自問自答,爬了幾個小時的文終於找到答案了(汗
'isCssBackgroundEnabled': True
'selectedDestinationId': 'Save as PDF',
'version': 2
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答