Ragazzi, mi rivolgo a voi dopo non esserci riuscito da solo per settimane. Vi allego la soluzione completa di un SW che sto preparando per leggere dati da un giochino chiamato Ogame.
La schermata ha dei bottoni in alto che permettono la navigazione nel webbrowser, l'apertura del form di log in, la compilaizione dei campi necessari per loggare (tranquilli, ho aperto un account dummy apposta per voi!) e per sottomettere il form di login.
Trovate anche una checkbox che vi dice quando il precedente Document COMpleted è stato generato, e una textBox che vi fa vedere la sequenza dei NAvigating e dei Document Completed.
Ora, nel gioco c'è una classifica, che io voglio leggere interamente e salvare nelle mie strutture dati. la classifica è divisa in pagine, bisogna innanzitutto cliccare sul link che apre la pagina della classifica e questo apre poi un form che contiene 100 record di tutti i giocatori. Se i giocatori sono più di 100, allora tramite una combo sul web si possono scorrere le pagine.
Il mio programmino dovrebbe essere in grado di automatizzare l'eventazione di questa combo e scorrere di pagina in pagina e salvare tutti i record.
Riesco a fare tutto, ma il problema nasce nella sequenziazione degli eventi document coompleted tra le varie attivazioni della combo che cambia le paginate di classifica.
Chi vuole darmi una mano è più che ben accetto e se ha voglia di scaricare i file, e aprire la soluzione VS2010 poi entro nei dettagli a seconda di quello che non manca a questa spiega, che faccio breve non essendo sicuro che qualcuno volgia perdere così tanto tempo per me.
Aggiungo qui la sequanze delle azuini da compiere sul form per arrivare al problema:
1) lanciare in debug il SW
2) premere naviga e attendere la sunta sulla checkbox
3) premere clicca login e attendere la sunta sulla checkbox
4) premere compila
5) premere conferma e attendere la sunta sulla checkbox
6) premere su all score e cedere tutto il casino che ne viene fuori.... qui è il problema, se mettete allinterno del metodo private void button24_Click(object sender, EventArgs e)
alla linea int fff = 5;
un breakpoint vi aggorgerete che nella lista di record chiamata newINfo non ci sono tanti record quanti quelli nelle pagine sul web e questo perchè viene letta una pagina ogni due!
grazie ancora a tutti... vi prego salvatemi, rischio la degenza... PLEASE!
Alessandro Parma