Salve!
Ho un problema in un programmino che sto facendo in c#.
In pratica il programmino non deve fare altro che aprire una pagina web, cercare se contiene il testo che voglio e segnalarmi che l'ha trovato nelle pagine numero X, Y e Z...
L'indirizzo del sito è tipo:
http://www.host.com/index.php?numero=1
per numero che va da 1 a 200000.
Quello che sto tentando di fare è farglielo fare in modo automatico, nel senso che apre, controlla se c'è il testo cercato, se si scrive il numero di pagina in una textbox e passa alla pagina dopo.
Io l'ho fatto così
Codice:
for(int d=2;d<=100000;d++)
{
System.Object nullObject = 0;
string str = "";
System.Object nullObjStr = str;
axWebBrowser1.Navigate("http://www.host.it/index.php?num="+d, ref nullObject, ref nullObjStr, ref nullObjStr, ref nullObjStr);
textBox1.AppendText("\r\nNumero "+d);
mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)axWebBrowser1.Document;
string str2 = doc.body.innerText.ToString();
textBox1.Text=str2;
string num= textBox2.Text; //textBox2 contiene il numero da cercare dentro la pagina
string searchForThis = num;
int searchres = str2.IndexOf(searchForThis);
if (searchres!=-1)
{
string searchForThis2 ="Testochevoglio";
int searchres2 = str2.IndexOf(searchForThis2);
searchres2+=17; //mi serve così, non preoccupatevi
textBox1.AppendText("\r\n"+str2.Substring(searchres2,10));
}
}
In teoria dovrebbe andare. In pratica c'è un problema di temporizzazione... L'axWebBrowser non carica immediatamente e mettere in sleep il thread non funziona... mi si blocca il prog e basta. Voi che suggerite?
PS: Si lo so... il codice fa schifo e i nomi sono ancora peggio... però avevo fretta
Grazie!