Frage

Ich möchte einige Web -Interaktionen automatisieren, nämlich periodischer Download von Dateien von einer sicheren Website. Dies beinhaltet im Grunde die Eingabe meines Benutzernamens/mein Passwort und navigiert zu der entsprechenden URL.

Ich habe in Python ein einfaches Skripting ausprobiert, gefolgt von anspruchsvolleren Skripts, nur um herauszufinden, dass diese bestimmte Website einen widerlichen JavaScript- und Flash -basierten Mechanismus zum Anmelden verwendet und meine Methoden nutzlos macht.

Ich habe dann HTMLunit versucht, aber das scheint auch nicht funktionieren zu wollen. Ich vermute, dass die Verwendung von Flash das Problem ist.

Ich möchte nicht mehr wirklich darüber nachdenken, also lehne ich mich zu einem tatsächlichen Browser, um mich anzumelden und die Datei zu greifen, die ich benötige.

Anforderungen sind:

  • Führen Sie auf Linux -Server aus (dh No X Laufen). Wenn ich wirklich Xi haben muss, kann das möglich sein, aber ich werde nicht glücklich sein.
  • Sei verlässlich. Ich möchte dieses Ding beginnen und nie wieder darüber nachdenken.
  • Seien Sie skriptierbar. Nichts allzu ausgefeiltes, aber ich sollte dem Browser die verschiedenen Schritte und Seiten zum Besuch mitteilen können.

Gibt es gute Toolkits für einen kopflosen, x-ohne-skriptbaren Browser? Haben Sie so etwas ausprobiert und wenn ja, haben Sie irgendwelche Worte der Weisheit?

War es hilfreich?

Lösung

Ich habe eine verwandte Aufgabe mit dem IE eingebetteten Browser gemacht (obwohl es sich bei der GUI -Anwendung mit einem versteckten Browserkomponenten -Panel handelt). Eigentlich können Sie jeden nehmen Layout -Motor und Ausgangslogik schneiden. Die Navigation sollte durch feuertskriptähnliche Ereignisse erfolgen.

Sie können verwenden Brecheisen. Es ist eine kopflose Version von Firefox (Gecko Engine). Es verwandelt Browser in einen erholsamen Server, der Anforderungen akzeptieren kann ("URL abrufen"). Daher analysiert es HTML, repräsentiert es als DOM, warte definierte Verzögerung auf alle geführten Skripts.

Es funktioniert unter Linux. Ich nehme an, Sie können es leicht für Ihr Ziel mit JS und Rich Xulrunner -Fähigkeiten erweitern.

Andere Tipps

Wie wäre es mit Phantomjs?

Hast du es versucht Selen? Dadurch können Sie ein Verwendungsszenario mit einer Erweiterung für Firefox aufzeichnen, die später mit verschiedenen Methoden zurückgespielt werden kann.

Bearbeiten: Ich habe gerade festgestellt, dass dies eine sehr späte Antwort war. :)

Sich ansehen Webkitdriver. Das Projekt umfasst eine kopflose Implementierung von Webkit.

Ich weiß nicht, wie man Flash -Interaktionen macht (und bin auch interessiert), aber für HTML/JavaScript können Sie verwenden Hühnerfuß.

Und um einen Kopf ohne Kopf ohne Skript zu erhalten, der unter Linux arbeitet, können Sie die verwenden QT Webkit Library. Hier ist ein Beispiel verwendet.

Um dies zu erreichen, schreibe ich nur Chromverlängerungen, die auf Couchdbs veröffentlichen (Beispiel und sein Futon). Fügen Sie die Couch den Berechtigungen im Manifest hinzu, um Cross-Domain-XHRs zu ermöglichen.

(Ich bin zu diesem Thread auf der Suche nach einer kopflosen Alternative zu dem angekommen, was ich getan habe. Nachdem ich diesen Thread gefunden habe, werde ich irgendwann die Brechstange ausprobieren.)

In Anbetracht der bizarren Merkmale dieser Website kann ich mich nicht wundern, ob Sie ein Sicherheitsloch ausnutzen können, um den Flash und JavaScript umzugehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top