Prenez une capture d’écran complète avec Firefox sur la ligne de commande

J’utilise Firefox sur un Xvfb dans un VPS. Ce que je veux faire, c’est prendre une capture d’écran complète de la page.

Je peux redirect Firefox vers une page particulière en utilisant

firefox http://google.com 

et prendre une capture d’écran (à l’intérieur de X) en utilisant ImageMagick

 import root -window output.jpg 

Le problème est que la plupart des pages ont besoin de défilement et que je ne peux pas connaître la hauteur au préalable.

L’autre solution consiste à choisir une très grande hauteur (comme 4000px), puis à traiter l’image et à supprimer la partie inutile. Mais c’est un traitement inutile.

J’ai trouvé de nombreux modules complémentaires pour Firefox, mais je recherche une solution pouvant être programmée à l’aide de la ligne de commande Shell.

Edit: J’ai fini par écrire ma propre extension FireFox pour cela.

Depuis Firefox 16, vous pouvez appuyer sur shift-F2 ou aller dans Outils> Web Developer> Developer Toolbar pour ouvrir une ligne de commande. Écrire:

 screenshot 

et appuyez sur Intro pour prendre une photo.

Pour répondre pleinement à la question, vous pouvez même sauvegarder toute la page, pas seulement la partie visible:

 screenshot --fullpage 

Et pour copier la capture d’écran dans le presse papier, utilisez l’option --clipboard :

 screenshot --clipboard --fullpage 

Firefox 18 modifie la manière dont les arguments sont transmis aux commandes, vous devez append “-” avant eux.

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

PS Les captures d’écran sont enregistrées dans le répertoire de téléchargements par défaut.

Mise à jour 2018-07-23

Comme il vient d’être souligné 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 ça. Alors voici 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 

Lisez plus dans la documentation .

Mise à jour 2017-06-15

À partir de Firefox 55, il existe des captures d’ écran de Firefox en tant qu’alternative plus flexible. À partir de Firefox 57, les captures d’écran peuvent également capturer une page complète.

Réponse originale

Depuis Firefox 32, il existe également un bouton de capture d’écran pleine page dans les outils de développement (F12). Si ce n’est pas le cas, allez dans les parameters des outils de développement (bouton d’engrenage) et choisissez “Prendre une capture d’écran de la page entière” dans la section “Boutons disponibles de la boîte à outils”.

barre d'outils des outils de développement source: developer.mozilla.org

Par défaut, les captures d’écran sont enregistrées dans le répertoire de téléchargement. Cela fonctionne comme la screenshot --fullpage d’ screenshot --fullpage dans la barre d’outils.

J’ai fini par coder une solution personnalisée (extension Firefox) 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 niveau de contrôle plus précis sur le processus de capture d’écran (ou si vous souhaitez effectuer des modifications HTML / JS et traiter des images).

Vous pouvez l’utiliser et en abuser. J’ai décidé de le garder sans licence, vous êtes donc libre de jouer avec ce que vous voulez.

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 recherchez probablement un utilitaire comme commandlineprint2 .

Après avoir installé l’extension, il vous suffit de taper la commande:

 firefox -print http://google.com -printfile ~/foo.png 

Firefox Screenshots est un nouvel outil fourni avec Firefox. Ce n’est pas un outil de développement, il est destiné aux utilisateurs finaux du navigateur.

Pour faire une capture d’écran, cliquez sur le menu Actions de la page dans la barre d’adresse, puis cliquez sur “Prendre une capture d’écran”. Si vous cliquez ensuite sur “Enregistrer la page entière”, la page entière sera sauvegardée, défilant pour vous.