Ich verwende Firefox auf einem Xvfb in einem VPS. Ich möchte einen ganzseitigen Screenshot der Seite machen.
Ich kann Firefox mit auf eine bestimmte Seite umleiten
firefox http://google.com
und machen Sie mit ImageMagick einen Screenshot (in X)
import root -window output.jpg
Das Problem ist, dass der größte Teil der Seite gescrollt werden muss und ich die Höhe vorher nicht kennen kann.
Die andere Möglichkeit besteht darin, eine sehr große Höhe (z. B. 4000 Pixel) auszuwählen, das Bild zu verarbeiten und den unbrauchbaren Teil zu entfernen. Aber das ist unnötige Verarbeitung.
Ich habe viele Firefox-Add-Ons gefunden, suche aber nach einer Lösung, die über die Shell-Befehlszeile programmiert werden kann.
Bearbeiten: Ich habe dafür meine eigene FireFox-Erweiterung geschrieben .
shell
firefox
command-line
screenshot
Omar Abid
quelle
quelle
Antworten:
Die Entwickler-Symbolleiste GCLI und die Verknüpfung Shift+ F2wurden in Firefox Version 60 entfernt . So machen Sie einen Screenshot in 60 oder neuer:
:screenshot
oder:screenshot --fullpage
Erfahren Sie mehr über Screenshots und andere Funktionen
Für Firefox-Versionen <60:
Drücken Sie Shift+ F2oder gehen Sie zu Tools> Web Developer> Developer Toolbar , um eine Befehlszeile zu öffnen. Schreiben:
und drücken Sie die Eingabetaste , um einen Screenshot zu erstellen.
Um die Frage vollständig zu beantworten, können Sie sogar die gesamte Seite speichern, nicht nur den sichtbaren Teil davon:
Verwenden Sie die folgende
--clipboard
Option , um den Screenshot in die Zwischenablage zu kopieren :Firefox 18 ändert die Art und Weise, wie Argumente an Befehle übergeben werden. Sie müssen davor "-" hinzufügen.
Eine Dokumentation und die vollständige Liste der Befehle finden Sie hier .
PS. Die Screenshots werden standardmäßig im Download- Verzeichnis gespeichert .
quelle
right-click
->screenshot node
. Dies ist sehr hilfreich, wenn Sie einen Screenshot eines Abschnitts einer Seite erstellen möchten.screenshot --clipboard --fullpage
Screenshot eines bestimmten Knotens (nachscreenshot --clipboard --selector #elementId
:screenshot --clipboard --fullpage
(beachten Sie den Doppelpunkt)Update 2018-07-23
Wie bereits in den Kommentaren erwähnt, ging es bei dieser Frage darum, einen Screenshot über die Befehlszeile zu erhalten . Entschuldigung, ich habe gerade darüber gelesen. Hier ist also die richtige Antwort:
Ab Firefox 57 können Sie einen Screenshot im Headless-Modus wie folgt erstellen:
Lesen Sie mehr in der Dokumentation .
Update 2017-06-15
Ab Firefox 55 gibt es Firefox-Screenshots als flexiblere Alternative. Ab Firefox 57 können Screenshots auch eine ganze Seite erfassen.
Ursprüngliche Antwort
Seit Firefox 32 gibt es in den Entwicklertools (F12) auch eine ganzseitige Screenshot-Schaltfläche . Wenn es nicht aktiviert ist, gehen Sie zu den Einstellungen der Entwicklertools (Schaltflächenschaltfläche) und wählen Sie im Abschnitt "Verfügbare Toolbox-Schaltflächen" die Option "Ganzseitigen Screenshot erstellen".
Quelle: developer.mozilla.org
Standardmäßig werden die Screenshots im Download-Verzeichnis gespeichert. Dies funktioniert ähnlich wie
screenshot --fullpage
in der Symbolleiste.quelle
cmd
+alt
+i
Am Ende habe ich eine benutzerdefinierte Lösung (Firefox-Erweiterung) codiert, die dies tut. Ich denke, als ich es entwickelte, war die in enreas erwähnte Kommandozeile nicht da.
Die Firefox-Erweiterung lautet CmdShots . Dies ist eine gute Option, wenn Sie eine genauere Kontrolle über den Prozess der Aufnahme des Screenshots benötigen (oder wenn Sie einige HTML / JS-Änderungen und Bildverarbeitungen vornehmen möchten).
Sie können es verwenden und missbrauchen. Ich habe beschlossen, es nicht lizenziert zu lassen, damit Sie damit spielen können, wie Sie möchten.
quelle
Ich denke, was Sie suchen, ist ein Dienstprogramm, mit dem Sie eine vollständige Seite, die in Ihrem Browser geöffnet wurde, in einer PNG-Datei speichern können. Höchstwahrscheinlich suchen Sie nach einem Dienstprogramm wie commandlineprint2 .
Nach der Installation der Erweiterung müssen Sie nur den folgenden Befehl eingeben:
quelle
Firefox Screenshots ist ein neues Tool, das im Lieferumfang von Firefox enthalten ist. Es ist kein Entwicklertool, sondern richtet sich an Endbenutzer des Browsers.
Um einen Screenshot zu erstellen, klicken Sie in der Adressleiste auf das Menü mit den Seitenaktionen und dann auf "Screenshot erstellen". Wenn Sie dann auf "Ganze Seite speichern" klicken, wird die ganze Seite gespeichert und für Sie gescrollt.
(Quelle: mozilla.net )
quelle
Sie können Selen und den Webdriver für Firefox verwenden.
quelle