Сделайте полный скриншот страницы с Firefox в командной строке


Я запускаю Firefox на Xvfb в VPS. То, что я хочу сделать полный скриншот страницы.

Я могу перенаправить Firefox на определенную страницу с помощью

firefox http://google.com

и сделайте снимок экрана (внутри X) с помощью ImageMagick

import root -window output.jpg

проблема в том, что большая часть страницы нуждается в прокрутке, и я не могу знать высоту заранее.

другой способ-выбрать очень большую высоту (например, 4000px), а затем обработать изображение и удалить бесполезное часть. Но это ненужная обработка.

Я нашел много дополнений Firefox, но я ищу решение, которое можно запрограммировать с помощью командной строки оболочки.

Edit: я закончил писать свой собственный расширение FireFox для этого.

5 201

5 ответов:

С Firefox 16 вы можете нажать shift-F2 или перейти к Инструменты > Веб-Разработчик > Панель Инструментов Разработчика открыть командную строку. Напишите:

screenshot

и нажать интро для того, чтобы взять screeshot.

чтобы полностью ответить на вопрос, вы можете даже сохранить всю страницу, а не только видимую ее часть:

screenshot --fullpage

и чтобы скопировать скриншот в буфер обмена, используйте --clipboard вариант:

screenshot --clipboard --fullpage

Firefox 18 изменяет способ передачи аргументов командам, вы должны добавить "--" перед ними.

вы можете найти некоторую документацию и полный список команд здесь.

PS. Скриншоты сохраняются в скачать по умолчанию.

обновление 2018-07-23

Как только что было указано в комментариях, этот вопрос касался получения скриншота из командной строки. Извините,я только что прочитал это. Так вот правильный ответ:

начиная с Firefox 57 вы можете создать скриншот в безголовом режиме, как это:

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

подробнее на документация.

обновление 2017-06-15

начиная с Firefox 55 есть Firefox Скриншоты как более гибкая альтернатива. По состоянию на Firefox 57 скриншоты могут захватить всю страницу, тоже.

оригинальный ответ

Так как Firefox 32 есть также кнопка скриншота полной страницы в инструментах разработчика (F12). Если он не включен, перейдите в настройки инструментов разработчика (кнопка gear) и выберите "Сделать снимок экрана fullpage" в разделе " доступные кнопки панели инструментов" раздел.

developer tools toolbar источник: developer.mozilla.org

по умолчанию скриншоты сохраняются в директорию загрузки. Это работает аналогично screenshot --fullpage на панели инструментов.

Я закончил кодирование пользовательского решения (расширение Firefox), которое делает это. Я думаю, что к тому времени, когда я его разработал, командной строки, упомянутой в enreas, не было.

расширение Firefox является CmdShots. Это хороший вариант, если вам нужна более тонкая степень контроля над процессом съемки скриншота (или вы хотите сделать некоторые изменения HTML/JS и обработку изображений).

вы можете использовать его и злоупотреблять ею. Я решил оставить его без лицензии, так что вы свободны играть с ним, как вы хотите.

Я думаю, что то, что вы ищете-это утилита, которая позволяет вам сохранить полное страница, открытая в вашем браузере в файл png. Скорее всего, вы ищете такую утилиту, как commandlineprint2.

после установки расширения, вам просто нужно ввести команду:

firefox -print http://google.com -printfile ~/foo.png

Firefox Скриншоты - это новый инструмент, который поставляется с Firefox. Это не инструмент разработчика, он ориентирован на конечных пользователей браузера.

чтобы сделать снимок экрана, нажмите на меню Действия страницы в адресной строке и нажмите кнопку "Сделать снимок экрана". Если вы затем нажмете "сохранить полную страницу", он сохранит всю страницу, прокручивая для вас.