C # Веб-браузер управления, как я могу нажать кнопку в цикле? - PullRequest
0 голосов
/ 06 октября 2018

Вот мой код,

List<string> ValidLesson = new List<string>();
if (myBrowserESchool.DocumentText.Contains("ddlSinifiSubesi"))
{
    HtmlElement ClassName = myBrowserESchool.Document.GetElementById("ddlSinifiSubesi");
    bool flag = ClassName == null;
    if (!flag)
    {
        HtmlElementCollection ClassNameOptionList = ClassName.GetElementsByTagName("option");
        for (int i = 0; i < ClassNameOptionList.Count; i++)
        {
            ClassNameOptionList[i].SetAttribute("selected", "selected");
            if (ClassNameOptionList[i].InnerText != null)
            {
                HtmlElement buttonelement = myBrowserESchool.Document.GetElementById("btnListele");

                buttonelement.InvokeMember("click");
                while (true)
                {
                    HtmlElement ClassLesson = myBrowserESchool.Document.GetElementById("ddlDersler");
                    if (ClassLesson != null)
                    {
                        HtmlElementCollection ClassLessonOptionList = ClassLesson.GetElementsByTagName("option");
                        foreach (HtmlElement lessonoption in ClassLessonOptionList)
                        {
                            ValidLesson.Add(lessonoption.InnerText);
                        }
                        ClassLesson = null;
                        break;
                    }
                    Application.DoEvents();
                    Thread.Sleep(500);
                }
            }
        }
    }
}

Здесь я хочу нажать кнопку в цикле for.Но после первого клика buttonelement.InvokeMember("click"); не работает.Другая проблема, которую я теряю ClassName после первой загрузки страницы, и даю внутреннему тексту исключение, потому что документ веб-браузера изменился.Что я должен сделать, чтобы не потерять этот элемент?Извините за мой плохой английский.

...