Tome una captura de pantalla de página completa con Firefox en la línea de comandos


Estoy ejecutando Firefox en un Xvfb en un VPS. Lo que quiero hacer es tomar una captura de pantalla de la página completa.

Puedo redirigir Firefox a una página en particular usando

firefox http://google.com

Y tomar una captura de pantalla (dentro de X) usando ImageMagick

import root -window output.jpg

El problema es que la mayor parte de la página necesita desplazarse y no puedo saber la altura de antemano.

La otra forma es elegir una altura muy grande (como 4000px) y luego procesar la imagen y eliminar la parte inútil. Pero eso es innecesario procesamiento.

He encontrado muchos complementos para Firefox, pero estoy buscando una solución que se pueda programar usando la línea de comandos del Shell.

Editar: Terminé escribiendo mi propia extensión de FireFox para hacer esto.

Author: Flimm, 2012-10-31

5 answers

Desde Firefox 16 puede presionar shift-F2 o ir a Herramientas > Desarrollador web > Barra de herramientas para desarrolladores para abrir una línea de comandos. Escribe:

screenshot

Y presione Intro para tomar un screeshot.

Para responder completamente a la pregunta, incluso puede guardar toda la página, no solo la parte visible de la misma:

screenshot --fullpage

Y para copiar la captura de pantalla al portapapeles, use la opción --clipboard:

screenshot --clipboard --fullpage

Firefox 18 cambia la forma en que se pasan los argumentos a los comandos, tienes que añadir " -- " antes de ellos.

Puede encontrar alguna documentación y la lista completa de comandos aquí.

PS. Las capturas de pantalla se guardan en el directorio downloads de forma predeterminada.

 448
Author: enreas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-18 13:40:26

Actualización 2018-07-23

Como se acaba de señalar en los comentarios, esta pregunta se trataba de obtener una captura de pantalla desde la línea de comandos. Lo siento, acabo de leer sobre eso. Así que aquí está la respuesta correcta:

A partir de Firefox 57 puedes crear una captura de pantalla en modo sin cabeza como esta:

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

Lea más en la documentación .

Actualización 2017-06-15

A partir de Firefox 55 hay Firefox Screenshots como un más flexible alternativa. A partir de Firefox 57 Capturas de pantalla puede capturar una página completa, también.

Respuesta original

Desde Firefox 32 también hay un botón de captura de pantalla de página completa en las herramientas para desarrolladores (F12). Si no está habilitado, vaya a la configuración de herramientas para desarrolladores (botón de engranaje) y elija "Tomar una captura de pantalla de página completa" en la sección "Botones de Caja de herramientas disponibles".

herramientas de desarrollador toolbarfuente: developer.mozilla.org

Por defecto las capturas de pantalla se guardan en la descarga directorio. Esto funciona de forma similar a screenshot --fullpage en la barra de herramientas.

 126
Author: Mouagip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-10 18:52:56

Terminé codificando una solución personalizada (extensión de Firefox) que hace esto. Creo que en el momento en que lo desarrollé, la línea de comandos mencionada en enreas no estaba allí.

La extensión de Firefox es CmdShots. Es una buena opción si necesita un grado más fino de control sobre el proceso de tomar la captura de pantalla (o si desea hacer algunas modificaciones HTML/JS y procesamiento de imágenes).

Puedes usarlo y abusar de él. Decidí mantenerlo sin licencia, por lo que eres libre de jugar con él como usted querer.

 7
Author: Omar Abid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-16 08:32:59

Creo que lo que está buscando es una utilidad que le permita guardar una página completa abierta en su navegador en un archivo png. Lo más probable es que esté buscando una utilidad como commandlineprint2 .

Después de instalar la extensión, solo necesita escribir el comando:

firefox -print http://google.com -printfile ~/foo.png
 7
Author: Nehal J Wani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-05 01:29:03

Firefox Screenshots es una nueva herramienta que viene con Firefox. No es una herramienta de desarrollo, está dirigido a los usuarios finales del navegador.

Para tomar una captura de pantalla, haga clic en el menú acciones de página en la barra de direcciones y haga clic en "tomar una captura de pantalla". Si luego hace clic en "Guardar página completa", guardará la página completa, desplazándose por usted.

 -1
Author: Flimm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-23 09:20:45