Программа командной строки для создания скриншотов веб-сайта (в Linux) [закрыта]

StackOverflow https://stackoverflow.com/questions/125951

  •  02-07-2019
  •  | 
  •  

Вопрос

Какой хороший инструмент командной строки для создания скриншотов веб-сайтов в Linux?Мне нужно автоматически генерировать скриншоты веб-сайтов без участия человека.Единственным инструментом, который я нашел, был khtml2png, но мне интересно, есть ли другие, которые не основаны на khtml (т.е.имейте хорошую поддержку JavaScript, ...).

Это было полезно?

Решение

Возможно, было бы полезно узнать немного больше деталей...

Запустите firefox (или другой браузер) в сеансе X либо на своей консоли, либо с помощью vncserver.Вы можете использовать --height и --width опции для установки размера окна на весь экран.Другую команду firefox можно использовать для настройки URL-адреса, отображаемого в первом окне firefox.Теперь вы можете получить изображение экрана с помощью одной из нескольких команд, таких как команда "импорт" из пакета Imagemagick, или с помощью gimp, или fbgrab, или xv.

#!/bin/sh

# start a server with a specific DISPLAY
vncserver :11 -geometry 1024x768

# start firefox in this vnc session
firefox --display :11

# read URLs from a data file in a loop
count=1
while read url
do
    # send URL to the firefox session
    firefox --display :11 $url

    # take a picture after waiting a bit for the load to finish
    sleep 5
    import -window root image$count.jpg

    count=`expr $count + 1`
done < url_list.txt

# clean up when done
vncserver -kill :11

Другие советы

Попробуйте хороший маленький инструмент Симпатичный КолпАчок, который зависит только от Qt и QtWebKit.;)

Взгляните на PhantomJS, который, по-видимому, является бесплатным scratable Webkit engine, работающим на Linux, OSX и Windows.Я не использовал его с тех пор, как мы в настоящее время используем Выстрел бровью (коммерческое решение), но когда все наши кредиты кончатся, мы серьезно заработаем на нем (поскольку он бесплатный и может работать на наших серверах).

мошонка это инструмент командной строки для создания скриншотов.Смотрите на справочная страница и это Учебник.

Возможно, вы также захотите взглянуть на создание сценариев для браузера.Существуют дополнения firefox, которые делают скриншоты, такие как скринграб (который может захватывать всю страницу, если вы хотите, а не только видимый фрагмент), и затем вы могли бы создать скрипт браузера с жирный ослик чтобы сделать скриншоты.

Видишь Webkit2png.

Я думаю, что это то, что я использовал в прошлом.

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

Я знаю, что это не инструмент командной строки, но вы могли бы легко написать сценарий для использования http://browsershots.org/ Не очень полезно для приложений, не размещенных на внешних IP-адресах.

Тем не менее, отличный инструмент.

Я не знаю ни о чем, созданном на заказ, я уверен, что можно было бы что-то сделать с движком gecko для рендеринга в файл png вместо экрана...

Или же вы могли бы запустить firefox в полноэкранном режиме на выделенном экземпляре VNC-сервера и использовать программу захвата скриншотов, чтобы сделать снимок экрана.Полноэкранный режим = минимальный chrome, экземпляр сервера VNC = нет видимого пользовательского интерфейса + вы можете выбрать свое разрешение.

Используйте xinit с Xvnc в качестве X-сервера для этого - вам нужно будет прочитать все справочные страницы.

Недостатками является то, что скриншот всегда имеет одинаковый размер и не изменяется в зависимости от веб-страницы...

Есть тот самый импорт команда, но вам понадобится X и небольшой скрипт bash, который откроет окно браузера, затем сделает снимок экрана и закроет браузер.

Вы можете найти более подробную информацию здесь, или просто набрав импорт --справка в оболочке ;)

http://khtml2png.sourceforge.net/

Файл deb

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

Я думаю, что поддержка javascript теперь может быть лучше!

Стефан

Не для командной строки, но, по крайней мере, для использования в пакетной работе для большего набора URL-адресов вы можете использовать firefox с его аддоном fireshot (лицензионная версия?).

  1. Откройте вкладки для всех URL-адресов в вашем наборе (например,"откройте вкладки для всех закладок в этой папке ...").
  2. Затем в fireshot запустите "Захватить все вкладки".
  3. Затем в окне редактирования вызовите "выбрать все снимки -> сохранить все снимки".

Установив свойства скриншота (размер, формат файла и т.д.), Прежде чем вы получите хороший набор файлов shotfile.

Steffen

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top