Kommandozeilenprogramm zur Website Screenshots erstellen (unter Linux) [geschlossen]

StackOverflow https://stackoverflow.com/questions/125951

  •  02-07-2019
  •  | 
  •  

Frage

Was ist ein gutes Kommandozeilen-Tool, um Screenshots von Webseiten auf Linux zu erstellen? Ich muss automatisch Screenshots von Websites ohne Interaktion Mensch erzeugen. Das einzige Werkzeug, das ich fand, war khtml2png , aber ich frage mich, ob es gibt andere, die nicht auf khtml basieren ( dh eine gute JavaScript-Unterstützung, ...).

War es hilfreich?

Lösung

Ein wenig mehr Details könnte nützlich sein ...

Starten Sie eine Firefox (oder einem anderen Browser) in einer X-Sitzung, entweder auf der Konsole oder einen vncserver verwenden. Sie können die --height und --width Optionen verwenden, um die Größe des Fensters auf Vollbild zu setzen. Ein weiterer firefox Befehl kann verwendet werden, um die URL zu setzen in den ersten firefox Fenstern angezeigt wird. Jetzt können Sie den Bildschirminhalt mit einem von mehreren Befehlen, wie der „Import“ aus dem Imagemagick-Paket packen, oder mit Gimp oder fbgrab oder xv.

#!/bin/sh

# start a server with a specific DISPLAY
vncserver :11 -geometry 1024x768

# start firefox in this vnc session
firefox --display :11

# read URLs from a data file in a loop
count=1
while read url
do
    # send URL to the firefox session
    firefox --display :11 $url

    # take a picture after waiting a bit for the load to finish
    sleep 5
    import -window root image$count.jpg

    count=`expr $count + 1`
done < url_list.txt

# clean up when done
vncserver -kill :11

Andere Tipps

Versuchen schönes kleines Tool CutyCapt , die nur auf Qt und QtWebKit abhängt. ;)

Hier finden Sie aktuelle PhantomJS , die ein freier scritable Webkit-Engine, die auf Linux läuft zu sein scheint, OSX und Windows. Ich habe es nicht benutzt, da wir derzeit verwenden Browshot (kommerzielle Lösung), aber wenn alle unsere Kredite auslaufen, werden wir ernsthaft eine Beute haben bei es (da es ist kostenlos und kann auf unseren Servern laufen)

scrot ist ein Kommandozeilen-Tool für die Aufnahme von Schnappschüssen. Sehen Sie sich die Manpage rel="nofollow und diese Tutorial .

Sie können auch bei Skripts für den Browser suchen. Es gibt Firefox-Add-ons, die Screenshots wie screen (die kann die gesamte Seite erfassen, wenn Sie wollen, nicht nur das sichtbare Bit) und man konnte der Browser mit Grease die Screenshots zu nehmen.

Siehe Webkit2png .

Ich denke, das ist das, was ich in der Vergangenheit verwendet.

Bearbeiten Ich entdecke ich nicht die oben verwendet haben, aber gefunden diese Seite mit Bewertungen von vielen verschiedenen Programmen und Techniken.

Ich weiß, es ist nicht ein Kommandozeilen-Tool, aber man konnte leicht Skript auf etwas zu verwenden, http://browsershots.org/ nicht so nützlich für Anwendungen, die nicht auf externe IP-Adressen gehostet werden.

Ein großartiges Werkzeug nicht weniger.

Ich weiß nicht, speziell angefertigten nichts, ich bin sicher, dass es etwas mit der Gecko-Engine getan werden könnte, anstatt des Bildschirms eine PNG-Datei zu machen ...

Oder könnten Sie firefox im Vollbildmodus in einer eigenen VNC-Server-Instanz anwerfen und verwenden Sie einen Screenshot-Grabber den Screenshot zu nehmen. Vollbild = minimal Chrom, VNC-Server-Instanz = keine sichtbaren UI + Sie können Ihre Auflösung wählen.

Verwenden xinit mit Xvnc als X-Server, dies zu tun - Sie werden alle Hilfeseiten lesen müssen

.

Die Nachteile sind, dass der Screenshot immer die gleiche Größe ist, die Größe nicht nach der Web-Seite ...

Es ist der Import Befehl, aber Sie werden X benötigen, und ein wenig Bash-Skript, das die Browser-Fenster zu öffnen, dann den Screenshot und den Browser schließen.

Sie können mehr Informationen finden hier , oder nur die Eingabe Import --help in einer Schale;)

http://khtml2png.sourceforge.net/

Die deb-Datei

arbeitete auf meinem Ubuntu nach libkonq4 Installation ... aber Sie können auch andere Abhängigkeiten abdecken müssen.

Ich denke, JavaScript jetzt besser sein können!

Stephan

Nicht für die Kommandozeile, aber zumindest für die Verwendung in Batch-Betrieb für eine größere Gruppe von URLs, die Sie Firefox mit Add-on Fireshot verwenden (lizenzierte Version?).

  1. Öffnen Registerkarten für alle URLs in Ihrem Set (zum Beispiel "geöffnet Tabs für alle Lesezeichen in diesem Ordner ...").
  2. Dann in Fireshot Start "Aufnahme aller Tabs"
  3. Im Edit-Fenster rufen Sie dann „alle Arten von Aufnahmen auswählen -> alle Arten von Aufnahmen speichern“

Nachdem die Bildschirmeigenschaften festgelegt (Größe, Dateiformat, etc.), bevor Sie mit einem schönen Satz von shotfiles beenden.

Steffen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top