Prenez une capture d'écran pleine page avec Firefox sur la ligne de commande

J'exécute Firefox sur un Xvfb dans un VPS. Ce que je veux faire est de prendre une capture d'écran pleine page de la page.

je peux rediriger Firefox vers une page particulière en utilisant

firefox http://google.com

et prendre une capture d'écran (dans X) en utilisant ImageMagick

import root -window output.jpg

le problème est, la plupart de la page ont besoin de défilement et je ne peux pas connaître la hauteur à l'avance.

L'autre façon est de choisir une très grande hauteur (comme 4000px) et puis traiter l'image et supprimer la partie inutile. Mais c'est inutiles de traitement.

j'ai trouvé beaucoup D'add-ons Firefox, mais je suis à la recherche d'une solution qui peut être programmée en utilisant la ligne de commande Shell.

Edit: j'ai fini par écrire mon propre FireFox extension pour ce faire.

201
demandé sur Flimm 2012-10-31 16:34:37

5 réponses

depuis Firefox 16 vous pouvez appuyer sur shift-F2 ou passer à outils > développeur Web > barre D'outils pour ouvrir une ligne de commande. Écrire:

screenshot

et appuyez sur Intro afin de prendre un screeshot.

pour répondre pleinement à la question, vous pouvez même sauvegarder toute la page, et pas seulement la partie visible de celle-ci:

screenshot --fullpage

Et pour copier la capture d'écran dans le presse-papiers, utilisez --clipboard option:

screenshot --clipboard --fullpage

Firefox 18 change la façon dont les arguments sont passés aux commandes, vous devez ajouter " -- " avant eux.

vous pouvez trouver de la documentation et la liste complète des commandes ici .

PS. Les captures d'écran sont sauvegardées dans le répertoire downloads par défaut.

448
répondu enreas 2016-05-18 13:40:26

mise à jour 2018-07-23

comme on vient de le souligner dans les commentaires, cette question concernait l'obtention d'une capture d'écran à partir de la ligne de commande . Désolé, je viens de lire. Voici donc la bonne réponse:

A partir de Firefox 57 Vous pouvez créer une capture d'écran en mode sans tête comme ceci:

firefox -screenshot https://developer.mozilla.com

plus d'informations dans la documentation .

mise à jour 2017-06-15

à partir de Firefox 55 Il y a Firefox Screenshots comme une alternative plus flexible. Depuis Firefox 57 Screenshots peut capturer une pleine page, aussi.

réponse Originale à cette question

depuis Firefox 32 Il ya aussi un pleine page Bouton screenshot dans les outils de développement (F12). Si il n'est pas permis d'aller à la paramètres des outils de développement (bouton gear) et choisissez " prendre une capture d'écran pleine page "dans la section" boutons de la boîte à outils disponible".

developer tools toolbar source: developer.mozilla.org

par défaut, les captures d'écran sont sauvegardées dans le répertoire download. Cela fonctionne comme screenshot --fullpage dans la barre d'outils.

126
répondu Mouagip 2018-08-10 18:52:56

j'ai fini par coder une solution personnalisée (Firefox extension) qui fait cela. Je pense qu'au moment où je l'ai développé, la ligne de commande mentionnée dans enreas n'était pas là.

L'extension Firefox est CmdShots . C'est une bonne option si vous avez besoin d'un plus grand degré de contrôle sur le processus de prise de screenshot (ou vous voulez faire quelques modifications HTML/JS et le traitement d'image).

Vous pouvez l'utiliser et en abuser. J'ai décidé de le garder sans licence, de sorte que vous êtes libre de jouer comme vous le souhaitez.

7
répondu Omar Abid 2013-02-16 08:32:59

je pense que ce que vous recherchez est un utilitaire qui vous permet de sauvegarder une page complète ouverte dans votre navigateur dans un fichier png. Vous cherchez probablement un utilitaire comme commandlineprint2 .

après avoir installé l'extension, vous avez juste besoin de taper la commande:

firefox -print http://google.com -printfile ~/foo.png
7
répondu Nehal J Wani 2014-07-05 01:29:03

Firefox Screenshots est un nouvel outil que les navires avec Firefox. Il n'est pas un outil de développement, il est destiné à des utilisateurs finaux du navigateur.

pour faire une capture d'écran, cliquez sur le menu actions de la page dans la barre d'adresse, et cliquez sur"faire une capture d'écran". Si vous cliquez ensuite sur "Enregistrer la page complète", il enregistrera la page complète, défilant pour vous.

-1
répondu Flimm 2018-07-23 09:20:45