Программа командной строки для создания скриншотов веб-сайта (в 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 - это инструмент командной строки для снятия скриншотов. Вижу man page и учебник.

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


посмотреть Webkit2png.

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

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


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

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


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

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

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

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


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

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


http://khtml2png.sourceforge.net/

файл deb

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

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

Стефан


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

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

установив свойства скриншота (размер, формат и т. д.) до конца с хорошим набором shotfiles.

Штеффен