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

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

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

firefox http://google.com

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

import root -window output.jpg

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

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

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

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

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). Если он не включен, перейдите в настройки инструментов разработчика (кнопка передач) и выберите "Сделать снимок экрана 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. Это не инструмент разработчика, он предназначен для конечных пользователей браузера.

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