Firefox / Webkit senza scrittura e senza testa su linux?

Sto cercando di automatizzare alcune interazioni web, ovvero il download periodico di file da un sito Web sicuro. Questo in pratica comporta l’inserimento del mio nome utente / password e la navigazione verso l’URL appropriato.

Ho provato uno script semplice in Python, seguito da uno script più sofisticato, solo per scoprire che questo particolare sito Web utilizza un odioso javascript e un meccanismo basato su flash per l’accesso, rendendo i miei metodi inutili.

Ho quindi provato HTMLUnit, ma non sembra che vogliano funzionare. Sospetto che l’uso di Flash sia il problema.

Non voglio più pensarci su, quindi mi sto proponendo di creare uno script per accedere e prendere il file che mi serve.

I requisiti sono:

  • Esegui su server linux (cioè senza X in esecuzione). Se ho davvero bisogno di avere XI posso farlo, ma non sarò felice.
  • Essere affidabile Voglio iniziare questa cosa e non pensarci più.
  • Sii scriptable. Niente di troppo sofisticato, ma dovrei essere in grado di dire al browser i vari passi da fare e le pagine da visitare.

Esistono buoni toolkit per un browser senza scrittura, senza X-less? Hai provato qualcosa di simile e se sì hai qualche parola di saggezza?

Ho eseguito attività correlate con il browser incorporato di IE (sebbene fosse un’applicazione gui con pannello dei componenti del browser nascosto). In realtà puoi prendere qualsiasi motore di layout e tagliare la logica di output. La navigazione deve essere effettuata tramite eventi simili a script.

Puoi usare il Crowbar . È la versione headless di Firefox (motore Gecko). Trasforma il browser in server RESTful che può accettare richieste (“fetch url”). Quindi analizza html, lo rappresenta come DOM, aspetta il ritardo definito per tutto lo script eseguito.

Funziona su Linux. Suppongo che tu possa facilmente estenderlo per il tuo objective usando JS e le ricche abilità di XULrunner.

Che mi dici di phantomjs ?

Hai provato il selenium ? Ti consentirà di registrare uno scenario di utilizzo, utilizzando un’estensione per Firefox, che può essere successivamente riprodotta utilizzando diversi metodi diversi.

Edit: ho appena capito che questa è stata una risposta molto tarda. 🙂

Dai un’occhiata a WebKitDriver . Il progetto include l’implementazione headless di WebKit.

Non so come fare le interazioni flash (e sono anche interessato), ma per html / javascript puoi usare Chickenfoot .

E per ottenere un browser headless + scriptable che funziona su Linux è ansible utilizzare la libreria webkit Qt . Ecco un esempio di utilizzo .

Per fare ciò, scrivo solo le estensioni di Chrome che pubblicano su CouchDBs ( esempio e il suo Futon ). Aggiungi il divano alle autorizzazioni nel manifest per consentire XHR tra domini.

(Sono arrivato a questo thread alla ricerca di un’alternativa priva di testa a quello che ho fatto, avendo trovato questo thread, cercherò Crowbar ad un certo punto.)

Inoltre, considerando le caratteristiche bizzarre di questo sito, non posso fare a meno di chiedermi se puoi sfruttare qualche buco di sicurezza per aggirare Flash e Javascript.

iMacros per Linux ti consente di creare script per Firefox e Chrome: http://wiki.imacros.net/Linux