web-dev-qa-db-fra.com

Prenez une capture d'écran de la page complète avec Firefox en 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 de la page complète.

Je peux rediriger 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 à l’avance.

L’autre méthode consiste à sélectionner une très grande hauteur (4000px, par exemple), puis à traiter l’image et à supprimer la partie inutile. Mais c'est un traitement inutile.

J'ai trouvé de nombreux add-ons pour Firefox, mais je cherche une solution pouvant être programmée à l'aide de la ligne de commande Shell.

Edit: J'ai fini par écrire mon propre extension FireFox pour le faire.

216
Omar Abid

Le Developer Toolbar GCLI et Shift+F2 les raccourcis ont été supprimés dans Firefox version 6 . Pour prendre une capture d'écran dans 60 ou plus récent:

  • presse Ctrl+Shift+K pour ouvrir la console du développeur.
  • tapez :screenshot ou :screenshot --fullpage

En savoir plus sur les captures d'écran et autres fonctionnalités


Pour les versions de Firefox <60:

Appuyez sur Shift+F2 ou allez dans Outils> Développeur Web> Barre d’outils pour développeurs pour ouvrir une ligne de commande. Écrire:

screenshot

et appuyez sur . Entrez pour prendre une capture d'écran.

Pour répondre pleinement à la question, vous pouvez même sauvegarder la page entière, pas seulement la partie visible de celle-ci:

screenshot --fullpage

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

screenshot --clipboard --fullpage

Firefox 18 change la manière dont les arguments sont passés aux commandes, vous devez ajouter "-" avant elles.

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

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

469
enreas

Mise à jour 2018-07-23

Comme il vient d'être souligné dans les commentaires, cette question portait sur l'obtention d'une capture d'écran à partir de la ligne de commande . Désolé, je viens de lire cela. Alors voici la bonne réponse:

À 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

A partir de Firefox 55, il existe Captures d'écran Firefox comme alternative plus flexible. À partir de Firefox 57, les captures d'écran peuvent également capturer une page entière.

Réponse originale

Depuis Firefox 32, il existe également un bouton de capture d'écran de la page complète dans les outils de développement (F12). S'il n'est pas activé, accédez aux paramètres des outils de développement (bouton d'engrenage) et choisissez "Prendre une capture d'écran de page entière" dans la section "Boutons de la boîte à outils disponibles".

developer tools toolbar  source: developer.mozilla.org

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

133
Mouagip

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 contrôle plus précis sur le processus de prise de capture d'écran (ou si vous souhaitez effectuer des modifications HTML/JS et un traitement d'image).

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

9
Omar Abid

Je pense que ce que vous recherchez est un utilitaire qui vous permet de sauvegarder dans un fichier png une page complète ouverte dans votre navigateur. Très probablement, vous recherchez un utilitaire tel que commandlineprint2 .

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

firefox -print http://google.com -printfile ~/foo.png
7
Nehal J Wani

Captures d'écran Firefox est un nouvel outil livré avec Firefox. Ce n'est pas un outil de développement, il est destiné aux utilisateurs finaux du navigateur.

Pour prendre 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 complète", la page entière sera sauvegardée en défilant pour vous.

0
Flimm