Я хочу создать изображение, на что похожа веб-страница, например, создайте маленькую миниатюру HTML + изображения. это не должно быть прекрасно (например, высветить / рендеринг JavaScript).
Я буду звонить, используют код на Linux, идеально была бы некоторая библиотека Java, но инструмент командной строки будет классным также.
какие-либо идеи?
Попробуйте CutyCapt , утилиту командной строки. Он использует Webkit для рендеринга и вывода в различных форматах (SVG, PNG и т. Д.).
Чтобы сделать снимок экрана в терминале с помощью ImageMagick, введите в терминал следующую строку, а затем щелкните и перетащите мышь по участку экрана:
import MyScreenshot.png
Чтобы сделать снимок всего экрана с некоторой задержкой и изменить его размер, используйте следующую команду:
import -window root -resize 400×300 -delay 200 screenshot.png
Вы можете использовать смесь xwininfo и import для получения идентификатора окна браузера и создания скриншота этого окна. bash-скрипт для автоматизации этого процесса будет выглядеть примерно так:
#!/bin/bash
window_id=`xwininfo -tree -root | grep Mozilla | awk '{print $1}'`
import -window $window_id -resize 100x100 tumb.png
Этот скрипт создаст снимок экрана Firefox размером 100x100 в текущем каталоге под именем tumb.png
Несколько источников показывают, как запустить bash-скрипт изнутри Java-приложения, google может помочь вам в этом. Если вы торопитесь, посмотрите это и это.
вы можете добиться почти идеального результата, а также кроссплатформенности, используя плагин для браузера.
BrowserShots - это проект с открытым исходным кодом, который может содержать некоторый код, который вы можете использовать.
также смотрите:
Если вас интересует Java, возможно, вам стоит взглянуть на автоматизацию браузера с использованием Selenium-RC http://seleniumhq.com
Это небольшой сервер Java, который вы можете установить на приставке, и сама программа будет выполнять удаленные команды в веб-браузере.
Такие шаги, как (кстати, это псевдокод, я кодирую свой Selenium на php и не могу вспомнить 100% деталей в голове)
selenium.location("http://foo.com")
selenium.open("/folder/sub/bar.html")
selenium.captureScreenshot("/tmp/" + this.getClass().getName() + "."
+ testMethodName + ".png");
На самом деле, я только что провел быстрый поиск в Интернете для точный синтаксис последнего ... и у этого парня есть блог с тем, что на самом деле может быть рабочим кодом на java :) https://dev.youdevise.com/YDBlog/index.php?title=capture_screenshots_of_selenium_browser_&more=1&c=1&tb=1&pb=1
Есть также ряд веб-сайтов, которые предоставляют эту услугу «кроссбраузерность и ОС» I просто не могу вспомнить, что это такое. По сути, у них есть облако каждой комбинации операционной системы и браузера, и они входят в систему с каждой машины, берут экран и сохраняют его на своем сайте, чтобы вы могли вернуться к нему через несколько часов, когда они будут готовы.
Ах ... еще один веб-поиск, и он ваш :) http://browsershots.org/