PDA

Visualizza la versione completa : script bash: scrivere su campo del web


Draxent
05-05-2011, 03:27
Ciao a tutti :)

Non so se questo il forum adatto per chiedere consigli sulla programmazione bash.
Se non lo fosse, me ne consigliate uno buono?

Il mio problema il seguente:
devo fare uno script in bash che compili in automatico un form di una pagina html.

Il problema che una volta che ho selezionato un campo del form non ho
la minima idea di come scriverci.

Che comando devo usare?

Per farvi un esempio:
potrei voler fare una ricerca su google.
quindi seleziono la barra di ricerca su google, mi compare la barretta per il testo,
ma non so come immettere del testo.

Grazie per il vostro aiuto.

mxa
05-05-2011, 15:56
Beh nel caso specifico di google la query mandata via GET, ovvero inclusa nella query string, e il nome del parametro mi pare sia q.

Quindi ti basta fare wget http://www.google.com?q=<query>

Se invece il tuo form manda i dati in POST devi prima vedere come fatto il form e segnarti i nomi dei parametri da inviare, e poi mi pare che wget supporti anche POST, quindi si tratta di leggere la manpage: man wget

mxa
05-05-2011, 15:58
Per cose pi complicate puoi anche guardare questo progetto: http://www.phantomjs.org/ una versione headless di webkit.

Draxent
06-05-2011, 17:13
oh fichissimo!!!

ma, forse non mi sono spiegato bene, non voglio mandare nessun dato a una pagina html.
Voglio solo "simulare la scrittura da tastiera su un campo"

Faccio altri esempi, per chiarirmi:
- uno script che seleziona questa textarea e ci stampa un testo da me definito.
- uno script che seleziona il campo di google per la ricerca, scrive una frase di ricerca, e preme invio

gi riesco a posizionarmi su un campo e cliccarlo, mi serve solo il comando per metterci dentro una frase...
una specie di echo che non scrive sul terminale ma sull'area selezionata.

Grazie!

mxa
07-05-2011, 03:09
Non ho capito cosa vuoi fare allora, mi dispiace :bh:

Draxent
07-05-2011, 18:15
come non hai capito???

graficamente come faccio a scrivere su quest'area di testo?
mi sposto con il cursore su la textarea, ci clicco, e poi batto i tasti da tastiera.

Ora voglio fare tutto questo con uno script in bash.
Quindi uso dei comandi per gestire il mouse e il click del mouse.
Conosco anche i comandi per gestire al pressione di un tasto, ma non credo che dovrei premere un tasto alla volta...
mi chiedevo se ci fosse, e sicuramente c', un comando che scrive una frase non sul terminale ma sul "buffer della tastiera".

Non so essere pi chiaro di cos.

cacao74
07-05-2011, 20:18
quello che vuoi fare tu, possono farlo delle estensioni del browser, non uno script in bash
oppure, rileggendo meglio, utilizzando qualcosa in javascript e simili...

quello che ti dice giustamente mxa e' di usare bash, per fare in modo di richiamare una pagina con gli opportuni valori ed ottenere lo stesso risultato che si avrebbe mettendosi fisicamente davanti allo schermo a digitare ogni carattere.

io uso il sistema di mxa per scaricare pdf, bollette telefoniche o quant'altro mi serva mettendo "a crontab" semplici script bash.

a questo punto, sta a te vedere che strada percorrere e poi riportare qui i risultati del tuo lavoro.

mxa
08-05-2011, 06:28
Originariamente inviato da Draxent
Ora voglio fare tutto questo con uno script in bash.
Quindi uso dei comandi per gestire il mouse e il click del mouse.
Conosco anche i comandi per gestire al pressione di un tasto,

Non so, forse solo allora che bash non mi sembra il linguaggio pi adatto a fare quello che vuoi te.
Si pu vedere lo script che stai usando?
E giusto per capire, qual lo scopo ultimo di tutto ci?

Draxent
09-05-2011, 16:09
non ti preoccupare, grazie lo stesso.

mxa
10-05-2011, 05:57
Originariamente inviato da Draxent
non ti preoccupare, grazie lo stesso.

Io non mi preoccupo, ma lo scopo del forum non solo risolvere i tuoi problemi anche lasciare qualcosa per gli utenti che vengono dopo che magari hanno problemi simili.

Quindi quando uno trova una spiegazione/soluzione per un problema sempre utile postarla...

Loading