it:linux:html_screenshots

no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
it:linux:html_screenshots [2015/12/24 14:26] (aktuell) – Externe Bearbeitung 127.0.0.1
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).
 +
 +
  
  • it/linux/html_screenshots.txt
  • Zuletzt geändert: 2015/12/24 14:26
  • von 127.0.0.1