2016-11-21 3 views
1

Ich habe nach Möglichkeiten gesucht, mit Python auf einer sicheren Website (z. B. Salesforce) einzuloggen, zu einer bestimmten Seite zu navigieren und die Seite als PDF zu speichern Lage.Sichere Website anmelden, Seite automatisch als PDF drucken

Ich habe versucht mit:

  1. pdfkit.from_url: Verwenden Sie anfordern Session-Cookie zu erhalten, analysieren es dann geben sie als Cookie in den Optionen-Einstellungen des wkhtmltopdf. Diese Methode funktioniert nicht, da pdfkit den von mir übergebenen Cookie nicht erkennen kann.

  2. pdfkit.from_file: Verwenden Sie Request.get, um das HTML der Seite, die ich drucken möchte, zu erhalten, dann PDFKit verwenden, um die HTML-Datei in PDF zu konvertieren. Das funktioniert, aber das Seitenformat und die Bilder fehlen alle.

  3. Selen: Melden Sie sich mit einem Webdriver an und navigieren Sie zur gewünschten Seite, rufen Sie die Funktion windows.print auf. Dies funktioniert nicht, da ich keine Argumente an den SaveAs-Dialog des Fensters übergeben kann.

Hat jemand eine Idee, um herumzukommen?

+0

Eine Option könnte sein, [speichern Sie einen Screenshot mit Selen] (http://stackoverflow.com/questions/33692179/export-as-pdf-using-selenium-webdriver-screenshot) (und in PDF konvertieren). – Arya

+0

Das Problem besteht darin, dass ein ganzer Seiten-Screenshot nicht verfügbar ist und kein Text-Rendering vorhanden ist. –

Antwort

0
  • Anmeldung mit Anfragen
  • Verwendung anfordert Sitzung Mechanismus Spur des Cookies
  • Verwendung Sitzung zu halten die HTML-Seite
  • analysieren, um die HTML (Verwendung beautifulsoup)
  • identifizieren img-Tags abrufen und css links
  • herunterladen lokal die bilder und css-dokumente
  • schreiben sie die img src attribute auf die lokal heruntergeladenen bilder
  • die CSS-Links neu zu schreiben, um die lokal heruntergeladen CSS
  • serialisiert den neuen HTML-Baum auf eine lokale HTML-Datei
  • verwenden, was „HTML in PDF“ Lösung zeigt die lokale HTML-Datei
zu machen