|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2002
Città: Trento (Lavis)
Messaggi: 2583
|
[CasperJS]Scaricare automaticamente bollette Telecom Italia?
Ciao a tutti!
spero che d queste parti ci sia ancora qualche cliente telecom, che come me è stufo di visitare il loro sito ogni bimestre per scaricare un semplice pdf (ho già chiesto/proposto in precedenza di ottenere la bolletta via mail per risparmiare banda sia a me che a loro, ovviamente non ho mai ricevuto risposta). All'inizio stavo cercando di usare un semplice curl o wget ma ovviamente l'uso massivo di javascript e redirect del sito 187 rendono impossibile questa strada. Cercando in giro ho trovato casper, una libreria JS che siede sopra PhantomJS e permette di automatizzare la navigazione internet, utile per i test sui propri siti ma anche per fare dello scraping. Grazie a casper sono riuscito ad arrivare alla schermata in cui dovrei ottenere il PDF, ma tra popup e redirect non ci sto capendo nulla... ecco qui quello che ho fatto fino ad ora: Codice:
// usare casperjs --ignore-ssl-errors=yes bolletta.js
var casper = require('casper').create();
var url = 'http://www.telecomitalia.it';
var user = 'NOMEUTENTE';
var pwd = 'PASSWORD'
// login automatico
casper.start(url, function() {
this.fill('form#ti-auth-login1-form', {
username: user,
password: pwd
}, true);
});
// mi sposto sull'elenco fatture
casper.then(function(){
this.clickLabel('Elenco fatture','a');
});
// clicco sul primo pulsante per scaricare il pdf
casper.then(function(){
this.clickLabel('SCARICA/STAMPA PDF','a');
});
// aspetto che si carichi il popup, dovrebbe essere una pagina asp
casper.waitForPopup(/asp/, function(){
console.log("popup found");
});
casper.withPopup(/asp/, function() {
console.log(this.getHTML());
});
casper.run();
L'ultimo step mi restituisce una pagina asp con una funzione "onload" nel body che non fa altro che eseguire il comando submit presente nelle poche righe di codice, ma non riesco a capire se casper lo interpreta, e se sì come ottenere la pagina risultante (che dovrebbe essere il pdf che voglio scaricare). Google non mi aiuta molto nella risoluzione di questo quesito, forse un waitForResource potrebbe funzionare, ma non so cosa mi devo aspettare, sopratutto perché quando uso un browser normale il pdf visualizzato ha comunque una url che termina con .asp... qualcuno riesce a illuminarmi? grazie per l'attenzione! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
|
Ma non fai prima a pressare telecom per mandartele via mail?
Non è che stai chiedendo la luna eh E mi pare strano che non ti abbiano risposto, quando la richiesi per i miei genitori non ebbi problemi di sorta, anzi fu semplice, veloce e indolore (stranamente )!
__________________
iMac 27" 5K |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2002
Città: Trento (Lavis)
Messaggi: 2583
|
Quote:
Li contatto subito, però sarebbe comunque educativo riuscire ad ottenere la soluzione al mio problema |
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: May 2008
Messaggi: 273
|
WOWW io stavo pensando il modo da far risultare pagate le bollette sul loro server senza averle pagate realmente...era molto piu' interessante....
__________________
SCHEDA MADRE* ASROCK EXTREME4GEN3-PROCIO*I7 2600K 4.8GHZ SKVIDEO*GIGABYTE GTX 470 OVERCLOCK 1280MB RAM* 8GB G.SKILL 1866MHZ 10-10-10-27 2N ALIMENTATORE* CORSAIR GS 700 COOLING* NOCTUA D14 HD*SSD Corsair Force Series 3 120GB 2.5" Lettura 550MB/s Scrittura 510MB/s SATA3 CSSD W7X64BITEDIT:LE PAZZIE MI RIESCONO SEMPRE BENE.E' CON LE COSE NORMALI CHE HO QUALCHE DIFFICOLTA' |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:32.











)!

W7X64BIT








