2016-11-21 70 views
1

我一直在探索如何使用python登錄到安全的網站(例如Salesforce),導航到某個頁面並以規定的PDF格式打印(保存)PDF位置。登錄到安全網站,自動打印頁面爲pdf

我已經嘗試使用:

  1. pdfkit.from_url:使用請求獲得一個會話cookie,解析它,然後把它作爲餅乾到wkhtmltopdf的選項設置。由於pdfkit無法識別我傳遞的cookie,因此此方法不起作用。

  2. pdfkit.from_file:使用Request.get獲取我想要打印的頁面的html,然後使用pdfkit將html文件轉換爲pdf。這有效,但頁面格式和圖像都丟失了。

  3. Selenium:使用webdriver登錄然後導航到想要的頁面,調用windows.print函數。這不起作用,因爲我無法將任何參數傳遞給窗口的SaveAs對話框。

有沒有人有任何想法解決?

+0

一個選項可能是[使用硒保存屏幕截圖](http://stackoverflow.com/questions/33692179/export-as-pdf-using-selenium-webdriver-screenshot)(並轉換爲PDF)。 – Arya

+0

問題是全屏截圖不可用,並且沒有文本呈現。 –

回答

0
  • 日誌使用要求在
  • 使用要求會話機制,以保持Cookie的跟蹤
  • 使用會話來檢索HTML頁面
  • 解析HTML(使用beautifulsoup)
  • 識別的img標籤和css鏈接
  • 本地下載圖像和css文件
  • 重寫img src屬性指向本地下載的圖像
  • 改寫CSS鏈接指向本地下載CSS
  • 序列化新的HTML樹到本地.html文件
  • 隨便用「HTML至PDF」的解決方案,以使本地.html文件