¿Cómo puedo usar Firefox para tomar capturas de pantalla de página completa desde la línea de comandos? [duplicar]

18

Necesito tomar una captura de pantalla de toda una página web.

He visto ¿Cómo puedo tomar una captura de pantalla de página completa de una página web desde la línea de comandos? donde se proponen muchas maneras de tomar una captura de pantalla, pero necesito usar Firefox para obtener un mejor efecto.

    
pregunta Nymeria 02.07.2014 - 05:46

3 respuestas

13

Para hacer capturas de pantalla de páginas web que muestren el área de navegación completa de la página en Firefox, propongo dos formas distintas.

Ambos guardan una imagen de la página que muestra todas las partes o la página web a la que se puede acceder desplazándose hacia abajo (y hacia la derecha / izquierda): piense que todas las posiciones de vista se unen;
Para páginas largas, la imagen puede tener varios miles de píxeles.

La forma "profesional": utilizando una herramienta de prueba y automatización de GUI a nivel del navegador web:

La herramienta de automatización Selenium , generalmente utilizada para las pruebas de UI, puede hacer capturas de pantalla de página completa

Sin embargo, parece que algunos gastos generales para configurarlo solo para esa tarea.

Por ejemplo:

Command: open; Target: http://www.google.com
Command: captureEntirePageScreenshotAndWait; Target: \Screenshots\test.png

Consulte so.SE: capturas de pantalla con el complemento Selenium IDE Firefox

Para instalar la parte de Firefox de Selenium, obtenga el complemento de Firefox , pero no desde la página oficial de complementos, está en página de descarga de Selenium como un archivo xpi. Esta es la versión actual .

(Hay muchos complementos para extender el selenio en sí mismo (pero en el aspecto técnico de un complemento de Firefox), todos llamados "Selenium ..." o incluso "Selenium IDE ..." en el Sitio web de complementos - muy confuso.)

La manera "hackosa": usar comandos internos de Firefox mediante la automatización del teclado:

Hay un símbolo del sistema interno en firefox, una especie de herramienta de desarrollo que, como señaló @Fireflight, tiene un comando para hacer capturas de pantalla. Pero, hasta donde yo sé, eso no se puede controlar desde la línea del shell de comando normalmente. Pero lo que podemos hacer es simular pulsaciones de teclas para usarlo.

Necesitamos elegir una ventana del navegador, abrir el indicador, ingresar el comando interno de firefox (usando un nombre de archivo basado en la fecha y hora actual), ejecutar el comando y cerrar nuevamente el mensaje:

FF=$(xdotool selectwindow)
xdotool key --window $FF Shift+F2 sleep 1
xdotool type --window $FF --delay 50 "screenshot page-$(date +%Y%m%d-%H%M%S).png --fullpage "
xdotool key --window $FF Return sleep 0.5 key --window $FF Shift+F2

La utilidad de línea de comandos xdotool puede interactuar con X ventanas en el nivel de eventos X11. Lo usamos para elegir la ventana de Firefox que muestra la página y para enviar las pulsaciones de teclas correctas para hacer la captura de pantalla.

(Este es un enfoque algo frágil: depende del tiempo del teclado, no funcionará si el mensaje ya está abierto o contiene texto (para abrirlo o cerrarlo, presione Shift-F2), pero si funciona, es muy agradable.)

Como ejemplo de cómo se ve este tipo de captura de pantalla, aquí hay un ejemplo de man xdotool en manpages.ubuntu.com , reducido al 20% (1336x15653 original), hecho con la solución xdotool :

    
respondido por el Volker Siegel 02.07.2014 - 06:54
10

En Firefox puedes presionar Shift-F2 , luego en la línea de comando que aparece, simplemente escribe:

screenshot filename.png --fullpage

Hay varios más comandos y opciones disponible también.

    
respondido por el Fireflight 02.07.2014 - 18:20
1

Puedes tomar un video de tu Firefox. Use un comando como:

mkdir ~/my_video
cd ~/my_video
avconv  -an  -f x11grab -r 30 -s 1024x768 -i :0.0+10,20  -vcodec libx264  -preset ultrafast -threads 0 video.mkv

Es probable que necesite modificar el tamaño (1024x768) y la posición (: 0.0 + 10,20) para satisfacer sus necesidades.

Una vez que tenga el video, puede convertirlo a un grupo de archivos .png con mplayer:

mplayer video.mkv -vo png

Luego, seleccione la mejor imagen para sus necesidades.

    
respondido por el sмurf 02.07.2014 - 07:05

Lea otras preguntas en las etiquetas