Indexon India Ответов: 1

C# программа для автоматизации множественной проверки идентификатора (ввода)в URL и получения статуса идентификатора с помощью webbrowser


A program to automate the process of checking a set of UserIds passing as a input to a webform in a url and get the status using webbrowser . for Single Ids its working , but to automate for N number of ids, loop is not working but taking the last id and returns the output .

 private void button2_Click(object sender, EventArgs e)
        {
            string url = "https://www.verify.xhtml";
            WebBrowser b = new WebBrowser();
            b.ScriptErrorsSuppressed = true;
            b.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(b_DocumentCompleted);
            b.Navigate(url);
        }


<pre>private void b_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

            for (int i = 0; i <= 4; i++)
            {
                WebBrowser b = sender as WebBrowser;
                b.Document.GetElementById("idnumber").InnerText = idarray[i];
                //string listobj = b.Document.GetElementsByTagName("select")[0].GetElementsByTagName("option")[1].SetAttribute("selected", "selected");
                // string response = b.DocumentText;

                b.Document.GetElementById("frmType1").SetAttribute("value", "24Q");

                HtmlElement btnlink = b.Document.GetElementById("clickGo1");
                btnlink.InvokeMember("Click");
                b.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(b_DocumentCompleted);
                b.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(b_result);

            }
        }

What I have tried:

I am getting the result from the site for the last ID ..how to perform the loop start from the first ID .. Please suggest me some changes in this code to get the code work as expected . thanks

1 Ответов

Рейтинг:
0

OriginalGriff

Ну да, ты будешь.
Вы запускаете цикл, но все, что вы когда - либо делаете, это присваиваете значения переменным-ни в коем случае не включаете существующее значение, вы просто перезаписываете то, что там было. Таким образом, то, что вы в конечном итоге получаете, всегда является последним значением.

Это немного похоже на попытку написать цикл для сложения чисел:

int result = 0;
for (int current = 1; current <= numberOfValues; current++)
   {
   result = current;
   }
Console.Writeline(result);
всегда будет давать вам один и тот же результат - количество значений, которые нужно "сложить". Если вы включаете существующие значения, это будет работать:
int result = 0;
for (int current = 1; current <= numberOfValues; current++)
   {
   result += current;
   }
Console.Writeline(result);
Вам нужно сделать что - то подобное в своем коде.