Para criar capturas de tela de páginas da web mostrando a área inteira rolável da página no firefox, proponho duas maneiras separadas .
Ambas salvam uma imagem da página que mostra todas as partes ou a página da web que você pode alcançar rolando para baixo (e para a direita / esquerda) - pense em todas as posições da vista unidas; Para páginas longas, a imagem pode ter vários milhares de pixels de altura.
A maneira "profissional" - usando uma ferramenta de teste e automação em nível de GUI do navegador da web:
A ferramenta de automação Selenium - normalmente usada para testes de interface do usuário - pode fazer capturas de tela de página inteira; Parece ser alguma sobrecarga para configurá-lo apenas para essa tarefa, no entanto.
Por exemplo:
Command: open; Target: http://www.google.com
Command: captureEntirePageScreenshotAndWait; Target: \Screenshots\test.png
Veja so.SE: Capturas de tela usando o plugin Selenium IDE Firefox
Para instalar a parte do firefox do Selenium, obtenha o add-on do firefox - mas não da página oficial de complementos - está no página de download do Selenium como um arquivo xpi. Esta é a versão atual .
(Existem muitos extras para estender o selênio em si (mas no complemento técnico do firefox), todos chamados de "Selenium ..." ou mesmo "Selenium IDE ..." no Site de Complementos - muito confuso.
A maneira "agressiva" - usando comandos internos do firefox pela automação do teclado:
Há um prompt de comando interno no firefox, uma espécie de ferramenta de desenvolvimento, que, como apontou @Fireflight, tem um comando para fazer capturas de tela. Mas, tanto quanto eu sei, isso não pode controlado a partir da linha shell de comando normalmente. Mas o que podemos fazer é simular as teclas pressionadas para usá-las.
Precisamos escolher uma janela do navegador, abrir o prompt, inserir o comando interno do firefox (usando um nome de arquivo com base na data e hora atuais), executar o comando e fechar o prompt novamente:
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
O utilitário de linha de comando xdotool
pode interagir com o X windows on o nível de eventos X11. Nós o usamos para escolher a janela do firefox que mostra a página, e para enviar as teclas certas para fazer a captura de tela.
(Esta é uma abordagem um tanto frágil: depende do tempo do teclado, não funcionará se o prompt já estiver aberto ou contiver texto (para abrir ou fechá-lo, pressione Shift-F2) - mas se funcionar, é muito legal.)
Como um exemplo desse tipo de captura de tela, aqui está um exemplo de man xdotool
em manpages.ubuntu.com , reduzido para 20% (original 1336x15653), feito com a xdotool
solution: