Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

it:linux:html_screenshots [2015/12/24 15:26] (aktuell)
Zeile 1: Zeile 1:
 +====== HTML Screenshots mit Linux und der Kommandozeile ======
 +Manchmal ergibt sich die Notwendigkeit Screenshots vom HTML Seiten von der Kommandozeile aus anzufertigen.
 +In diese Verlegenheit kommt man, wenn man versucht die DSL Statusinformationen seiner FritzBox über einen längeren Zeitraum aufzuzeichen und zu vergleichen.
 +
 +===== Scritt für Schritt =====
 +  - Vorbedingungen:​ <code bash>​apt-get install firefox imagemagick fluxbox tightvncserver</​code>​
 +  - <code bash>#​!/​bin/​bash
 +
 +#Create screenshot of html site
 +#param $1: Url to take screenshot from
 +#param $2: Filename of output jpg (date is appended)
 +function makeHtmlScreenshot() {
 +
 +  display=11
 +  url=$1
 +  outfile=$2
 +  export DISPLAY=:​$display
 +
 +  #Start X-Server
 +  vncserver :$display -geometry 1024x1024
 +  #Start browser
 +  firefox --display=:​$display "​${url}"​ &
 +  #Wait for page to be loaded
 +  ​
 +  #Get Window id (with timeout)
 +  declare -i cnt
 +  cnt=0
 +  winid=""​
 +  while [ "​${winid}"​ == ""​ ]; do
 +    winid=`xwininfo -tree -root | grep 1024x975 | awk '​{print $1}' | head -1`
 +    sleep 2s 
 +    cnt=$cnt+1
 +    if [ $cnt -gt 20 ]; then
 +      echo "​Failed to get windowid!";​
 +      exit 2
 +    fi 
 +  done
 +
 +  #Get screenshot
 +  import -window ${winid} ${outfile}_`date +%Y-%m-%d_%H-%M-%S`.jpg
 +
 +  #Kill everything
 +  vncserver -kill :$display
 +}
 +</​code> ​
 +Anmerkungen: ​   ​
 +  * Die Framegröße,​ nach der bei xwininfo gegrept wird wurde empirisch ermittelt und hägt natürlich mit dem geometry Parameter von vncserver zusammen (vorrausgesetzt man betreibt Firefox auch maximiert).
 +
 +