iMacro: Macro-Recorder für den Browser
Manchmal möchte man -
zumindest als Informatiker - gewisse Abläufe beim Surfen im Web automatisieren: Sei es um Dateien herunterzuladen, gewisse Sicherheitsabfragen automatisch zu beantworten o.ä.
Mein aktuelles Problem: Auf einer Website monatlich zahlreiche Dokumente herunterladen, die aber nicht alle auf der gleichen Seite verlinkt sind und die auch anhand der URL als Downloads erkennbar sind (konkret: Mobiltelefonrechnungen von der Website des Telecom-Providers herunterladen). Traditionelle Massendownloader wie z.B. die
Firefox-Erweiterung DownThemAll! scheiden damit aus.
Was ich bisher kannte, war die Firefox-Erweiterung
Firefox-Erweiterung Greasemonkey mit dem sich HTML-Seiten dynamisch mit Javascript verändern lassen und wofür es eine grosse Auswahl an vorbereiteten Skripten gibt. Die Einarbeitung erschien mir aber zu aufwändig.
Nach einigem Recherchieren bin ich auf die
Firefox-Erweiterung IMacros gestossen. Damit lassen sich Abläufe im Firefox aufzeichnen, danach gegebenenfalls in der Macrosprache bearbeiten und schliesslich auf Knopfdruck wieder ablaufen lassen.
Das kann dann so aussehen:
VERSION BUILD=7000908 RECORDER=FX
set !VAR1 0
TAB T=1
URL GOTO=https://www.telco-provider.ch/ebill/Invoices.action?period={{!VAR1}}
TAG POS=1 TYPE=A ATTR=TXT:1.23456.78.90<SP>/<SP>5.4545.12.99
SET !VAR2 0791234567
TAG POS=1 TYPE=A ATTR=TXT:{{!VAR2}}
ONDOWNLOAD FOLDER=verbindungsnachweise\iMacro FILE={{!VAR2}}.txt WAIT=YES
TAG POS=1 TYPE=A ATTR=TXT:Export<SP>von<SP>Daten
BACK
SET !VAR2 0791234568
TAG POS=1 TYPE=A ATTR=TXT:{{!VAR2}}
ONDOWNLOAD FOLDER=\verbindungsnachweise\iMacro FILE={{!VAR2}}.txt WAIT=YES
TAG POS=1 TYPE=A ATTR=TXT:Export<SP>von<SP>Daten
BACK
etc.
Das Verstehen und Anpassen ging relativ einfach. Ich kann (noch) nichts über die Mächtigkeit der Skriptsprache aussagen, aber für gewisse
quick&dirty-Anwendungen reichts auf jeden Fall, wenn
wget
nicht funktioniert (im aktuellen Fall wäre wget nicht besonders hilfreich, weil sich die relevanten URLs jeden Monat ändern können und ihre Relevanz nicht an der URL selbst sondern am umklammerten Text im HTML-Code erkannt werden kann. Anders formuliert: Die Telefonnummer bzw. ID der Rechnung ist nicht in der URL, sondern nur im verlinkten Text.)
Interessierte finden im
Wiki von iMacros weiteres Futter, so eine
Command Reference und
Sample Code.
Zum Kommentieren ist eine Registration notwendig.
Kategorien:
IsaBlog,
IsaSoftware,
IsaInformatik