Программа командной строки для создания скриншотов сайта (в Linux) [закрыто]
Что такое хороший инструмент командной строки для создания скриншотов веб-сайтов на Linux? Мне нужно автоматически создавать скриншоты веб-страниц без участия человека. Единственный инструмент, который я нашел был khtml2png, но мне интересно, есть ли другие, которые не основаны на khtml (т. е. имеют хорошую поддержку JavaScript,...).
10 ответов:
немного больше деталей может быть полезно...
запустите 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
попробуйте хороший маленький инструмент CutyCapt, который зависит только от Qt и QtWebkit. ;)
посмотреть PhantomJS, который, кажется, является свободным scritable webkit engine, который работает на Linux, OSX и Windows. Я не использовал его, так как мы в настоящее время используем Browshot (коммерческое решение), но когда все наши кредиты закончатся, мы серьезно будем иметь добычу на нем (так как это бесплатно и может работать на наших серверах)
названием scrot - это инструмент командной строки для снятия скриншотов. Смотрите на странице и учебник.
вы также можете посмотреть на сценарии браузера. Есть дополнения firefox, которые делают скриншоты, такие как screengrab (который может захватить всю страницу, если вы хотите, а не только видимый бит), и вы можете затем написать сценарий браузера с greasemonkey чтобы сделать скриншоты.
посмотреть Webkit2png.
Я думаю, что это то, что я использовал в прошлом.
Edit я обнаружил, что я не использовал выше, но нашел на этой странице обзор различных программ и методик.
Я знаю, что это не инструмент командной строки, но вы можете легко написать что-то, чтобы использоватьhttp://browsershots.org/ не очень полезно для приложений, не размещенных на внешних IP-адресах.
отличный инструмент, тем не менее.
Я не знаю ничего специально построенного, я уверен, что с движком gecko может быть что-то сделано, чтобы отобразить файл png вместо экрана ...
или, вы можете запустить firefox в полноэкранном режиме в выделенном экземпляре сервера VNC и использовать захват скриншота, чтобы сделать снимок экрана. Полноэкранный режим = минимальный chrome, экземпляр сервера VNC = нет видимого пользовательского интерфейса + вы можете выбрать свое разрешение.
используйте xinit с Xvnc в качестве X-сервера для этого - вам нужно будет прочитал все страницы.
недостатки в том, что скриншот всегда одинакового размера, не изменяет размер в соответствии с веб-страницей ...
есть импорт команда, но вам понадобится X и небольшой скрипт bash, который откроет окно браузера, а затем сделает снимок экрана и закроет браузер.
вы можете найти более подробную информацию здесь, или просто набрав import --help в оболочке ;)
http://khtml2png.sourceforge.net/
файл deb
работал на моем Ubuntu после установки libkonq4 ... но вам, возможно, придется охватить и другие зависимости.
Я думаю, что поддержка JavaScript может быть лучше!
Стефан
Не для командной строки, но, по крайней мере, для использования в пакетной операции для большего набора URL-адресов вы можете использовать firefox с его аддоном fireshot (лицензионная версия?).
- открыть вкладки для всех URL-адресов в вашем наборе (например, "открыть вкладки для всех закладок в этой папке...").
- затем в fireshot запустите "захват всех вкладок"
- в окне редактирования затем вызовите "выбрать все снимки - > сохранить все снимки"
установив свойства скриншота (размер, формат и т. д.) прежде чем вы закончите с хорошим набором shotfiles.
Штеффен