Salve a tutti,
Sto scrivendo un programma in C# per popolare i campi di una pagina web in modo automatico.
In particolare, in questa pagina è presente un drop-down contenente circa 5300 campi.
Il codice che sto usando è il seguente:
Il problema di questo codice sta nel ciclo for, che è estremamente lento: solo per arrivare a valutare 1000 campi, ci mette una 30ina di secondi (o anche più).codice:private void button2_Click(object sender, EventArgs e) { foreach (InternetExplorer ie in new ShellWindows()) { if (ie.LocationURL.Contains("aams")) { for (int i = 1; i < ie.Document.GetElementsByTagName("option").length - 1; i++) { if (ie.Document.GetElementsByTagName("option")[i].InnerText.Contains("testo da cercare")) { ie.Document.GetElementsByTagName("option")[i].SetAttribute("selected", "true"); ie.Document.GetElementsByTagName("input")["aggiungi"].Click(); break; } } ie.Document.GetElementById("num").SetAttribute("value", "1"); ie.Document.GetElementsByTagName("input")["prepara"].Click(); ie.Document.GetElementById("nome_sftw1").SetAttribute("value", "Nome_Software"); ie.Document.GetElementById("cod_sha11").SetAttribute("value", "1234567890"); ie.Document.GetElementsByTagName("input")["Acquisisci"].Click(); } } }
Conoscete un algoritmo più efficiente del ciclo for per fare questo?
Vi ringrazio.

Rispondi quotando