Firefox / Webkit sans script et scriptable sur Linux?

Je cherche à automatiser certaines interactions Web, à savoir le téléchargement périodique de fichiers à partir d’un site Web sécurisé. Cela implique essentiellement la saisie de mon nom d’utilisateur / mot de passe et la navigation vers l’URL appropriée.

J’ai essayé des scripts simples en Python, suivis par des scripts plus sophistiqués, seulement pour découvrir que ce site particulier utilise des mécanismes de connexion javascript et flash odieux pour rendre mes méthodes inutiles.

J’ai ensuite essayé HTMLUnit, mais cela ne semble pas vouloir fonctionner non plus. Je soupçonne que l’utilisation de Flash est le problème.

Je ne veux plus vraiment y penser, alors je me tourne vers le script pour un vrai navigateur pour me connecter et récupérer le fichier dont j’ai besoin.

Les exigences sont les suivantes:

  • Exécuter sur le serveur Linux (c.-à-d. Pas X en cours d’exécution). Si j’ai vraiment besoin de XI, ça peut arriver, mais je ne serai pas heureux.
  • Soit digne de confiance. Je veux commencer cette chose et ne plus jamais y penser.
  • Soyez scriptable. Rien de bien sophistiqué, mais je devrais pouvoir dire au navigateur les différentes étapes à suivre et les pages à visiter.

Existe-t-il de bons outils pour un navigateur sans script, sans script et sans script? Avez-vous essayé quelque chose comme ça et si oui avez-vous des mots de sagesse?

J’ai fait la tâche connexe avec le navigateur intégré IE (même si c’était une application d’interface graphique avec un panneau de composants de navigateur caché). En fait, vous pouvez prendre n’importe quel moteur de mise en page et couper la logique de sortie. La navigation doit être effectuée via le déclenchement d’événements similaires à ceux du script.

Vous pouvez utiliser Crowbar . C’est une version sans tête de Firefox (moteur Gecko). Il transforme le navigateur en serveur RESTful capable d’accepter les requêtes (“fetch url”). Donc, il parsing le HTML, le représente comme DOM, attend le délai défini pour tous les scripts exécutés.

Cela fonctionne sur Linux. Je suppose que vous pouvez facilement l’étendre à votre objective en utilisant JS et de riches capacités XULrunner.

Qu’en est-il des phantomjs ?

Avez-vous essayé le selenium ? Cela vous permettra d’enregistrer un scénario d’utilisation, en utilisant une extension pour Firefox, qui pourra ensuite être lue en utilisant différentes méthodes.

Edit: Je viens de réaliser que c’était une réponse très tardive. 🙂

Jetez un coup d’œil à WebKitDriver . Le projet comprend une implémentation sans tête de WebKit.

Je ne sais pas comment faire des interactions flash (et je suis également intéressé), mais pour HTML / JavaScript, vous pouvez utiliser Chickenfoot .

Et pour obtenir un navigateur scriptable sans tête fonctionnant sous Linux, vous pouvez utiliser la bibliothèque Qt webkit . Voici un exemple d’utilisation .

Pour ce faire, j’écris simplement les extensions Chrome qui publient sur CouchDBs ( exemple et son Futon ). Ajoutez le Couch aux permissions du manifeste pour autoriser les XHR interdomaines.

(Je suis arrivé à ce sujet à la recherche d’une alternative sans tête à ce que je faisais; ayant trouvé ce fil, je vais essayer Crowbar à un moment donné.)

De plus, compte tenu des caractéristiques bizarres de ce site, je ne peux m’empêcher de me demander si vous pouvez exploiter des failles de sécurité pour contourner Flash et Javascript.

iMacros pour Linux vous permet de créer des scripts pour Firefox et Chrome: http://wiki.imacros.net/Linux