这是我的代码,
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
,并给内部文本一个例外,因为webbrowser的文档已更改。我应该怎么做才能不失去这一要素?对不起,我的英语不好。