Come posso usare firefox per acquisire schermate complete della pagina dalla riga di comando? [duplicare]

18

Devo fare uno screenshot di un'intera pagina web.

Ho visto Come posso ottenere uno screenshot di pagina intera di una pagina web dalla riga di comando? in cui vengono proposti molti modi per scattare una schermata, ma ho bisogno di usare firefox per ottenere un risultato migliore.

    
posta Nymeria 02.07.2014 - 07:46

3 risposte

13

Per rendere schermate delle pagine web che mostrano l'intera area scorrevole della pagina in firefox, propongo due modi separati .

Entrambi salvano un'immagine della pagina che mostra tutte le parti o la pagina Web che potresti raggiungere scorrendo verso il basso (e verso destra / sinistra) - pensa che tutte le posizioni della vista siano unite insieme,
Per le pagine lunghe, l'immagine può facilmente essere di diverse migliaia di pixel.

Il modo "professionale" - utilizzando uno strumento di test e automazione a livello di interfaccia grafica per browser Web:

Lo strumento di automazione Selenium - di solito utilizzato per i test dell'interfaccia utente - può eseguire schermate a schermo intero;
Sembra essere un po 'sovraccarico per configurarlo solo per quell'attività, però.

Ad esempio:

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

Vedi so.SE: Schermate che utilizzano il plug-in Selusum IDE per Firefox

Per installare la parte firefox di Selenium, ottieni il componente aggiuntivo per Firefox - ma non dalla pagina dei componenti aggiuntivi ufficiali - è su scarica la pagina di Selenium come file xpi. Questa è la versione corrente .

(Ci sono molti add-on per estendere il selenio stesso (ma nella parte tecnica di un componente aggiuntivo per Firefox), tutti chiamati "Selenium ..." o anche "Selenium IDE ..." su Sito web dei componenti aggiuntivi - molto confuso.)

Il modo "hackish" - utilizzando i comandi firefox interni tramite l'automazione della tastiera:

C'è un prompt di comando interno in firefox, una specie di strumento di sviluppo, che, come sottolineato da @Fireflight, ha un comando per creare schermate. Ma, per quanto ne so, questo non può essere controllato normalmente dalla riga della shell di comando. Ma quello che possiamo fare è simulare le pressioni dei tasti per farne uso.

Dobbiamo scegliere una finestra del browser, aprire il prompt, immettere il comando interno di firefox (utilizzando un nome file basato sulla data e l'ora correnti), eseguire il comando e chiudere nuovamente il prompt:

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

L'utilità della riga di comando xdotool può interagire con X windows in il livello degli eventi X11. Lo usiamo per scegliere la finestra di firefox che mostra la pagina e per inviare i tratti di tasto giusti per creare lo screenshot.

(Questo è un approccio un po 'fragile: dipende dal timing della tastiera, non funzionerà se il prompt è già aperto, o contiene testo (per aprirlo o chiuderlo, premere Shift-F2) - ma se funziona, è davvero bello.)

Ad esempio, come appare questo tipo di screenshot, ecco un esempio di man xdotool su manpages.ubuntu.com , ridimensionato al 20% (originale 1336x15653), eseguito con la soluzione xdotool :

    
risposta data Volker Siegel 02.07.2014 - 08:54
10

In Firefox puoi colpire Shift-F2 , quindi nella riga di comando che appare, digita semplicemente:

screenshot filename.png --fullpage

Ci sono diversi altri comandi e opzioni disponibile pure.

    
risposta data Fireflight 02.07.2014 - 20:20
1

Puoi fare un video dal tuo firefox. Usa un comando come:

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

Probabilmente dovrai modificare la dimensione (1024x768) e la posizione (: 0,0 + 10,20) in base alle tue esigenze.

Una volta ottenuto il video, puoi convertirlo in un sacco di file .png con mplayer:

mplayer video.mkv -vo png

Quindi seleziona l'immagine migliore per le tue esigenze.

    
risposta data sмurf 02.07.2014 - 09:05

Leggi altre domande sui tag