Что такое хороший инструмент командной строки для создания скриншотов веб-сайтов в Linux? Мне нужно автоматически создавать скриншоты веб-сайтов без взаимодействия с человеком. Единственный инструмент, который я нашел, был khtml2png, но мне интересно, есть ли другие, которые не основаны на khtml (т.е. Имеют хорошую поддержку JavaScript,...).
Программа командной строки для создания скриншотов веб-сайтов (в Linux)
Ответ 1
Может быть полезно немного больше деталей...
Запустите firefox (или другой браузер) в сеансе X, либо на консоли, либо с помощью vncserver. Вы можете использовать параметры --height
и --width
, чтобы установить размер окна в полноэкранном режиме. Другая команда firefox может использоваться для установки URL-адреса, отображаемого в первом окне firefox. Теперь вы можете захватить изображение с помощью одной из нескольких команд, таких как команда "import" из пакета 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
Ответ 2
Попробуйте хороший небольшой инструмент CutyCapt, который зависит только от Qt и QtWebkit.;)
Ответ 3
Посмотрите PhantomJS, который, по-видимому, является свободным scritable механизмом Webkit, который работает в Linux, OSX и Windows. Я не использовал его с тех пор, как мы в настоящее время используем Browshot (коммерческое решение), но когда все наши кредиты заканчиваются, у нас будет серьёзно добыча (с тех пор он бесплатный и может работать на наших серверах)
Ответ 4
scrot - инструмент командной строки для снятия скриншотов. См. справочная страница и этот учебник.
Возможно, вы также захотите посмотреть сценарий браузера. Есть дополнения Firefox, которые делают скриншоты, такие как screengrab (который может захватывать всю страницу, если хотите, а не только видимый бит) и вы могли бы script браузера с greasemonkey сделать скриншоты.
Ответ 5
Я знаю, что это не инструмент командной строки, но вы можете легко script что-то использовать http://browsershots.org/ Не так полезно для приложений не размещены на внешних IP-адресах.
Отличный инструмент, тем не менее.
Ответ 6
См. Webkit2png.
Я думаю, что это то, что я использовал в прошлом.
Изменить. Я обнаружил, что я не использовал вышеуказанное, но нашел эту страницу с отзывами многих разных программ и методы.
Ответ 7
Я ничего не знаю на заказ, я уверен, что может быть что-то сделано с движком gecko для рендеринга в png файле вместо экрана...
Или вы можете запустить firefox в полноэкранном режиме в выделенном экземпляре сервера VNC и использовать скриншот-граббер, чтобы сделать снимок экрана. Fullscreen = минимальный хром, экземпляр сервера VNC = нет видимого интерфейса + вы можете выбрать свое разрешение.
Используйте xinit с Xvnc как X-сервер, чтобы сделать это - вам нужно будет прочитать все manpages.
Недостатки в том, что скриншот всегда одного размера, не изменяется в соответствии с веб-страницей...
Ответ 8
Существует команда import, но вам понадобится X и немного bash script, которые откроют окно браузера, затем сделают снимок экрана и закроют браузер.
Вы можете найти дополнительную информацию здесь или просто ввести import --help в оболочке;)
Ответ 9
http://khtml2png.sourceforge.net/
Файл deb
работал над моим Ubuntu после установки libkonq4... но вам, возможно, придется покрывать другие зависимости.
Думаю, поддержка javascript может быть лучше!
Stephan
Ответ 10
Не для командной строки, но, по крайней мере, для использования в пакетной операции для большего набора URL-адресов вы можете использовать firefox с его addon fireshot (лицензионная версия?).
- Откройте вкладки для всех URL-адресов в вашем наборе (например, "откройте вкладки для всех закладок в этой папке..." ).
- Затем в запуске fireshot "Захват всех вкладок"
- В окне редактирования нажмите "выбрать все снимки → сохранить все снимки"
Задав свойства скриншота (размер, форматы файлов и т.д.), перед тем, как вы закончите с хорошим набором снимков.
Штеффен