У меня есть веб-браузер, который загружает сайт.Если веб-сайт запускает «завершенное» событие, мой HTMLElementCollection показывает мне счет «179».Если я нажимаю на кнопку и вызываю один и тот же метод, чтобы получить все HTMLElements, он говорит мне счет «194».Проблема заключается в том, что если завершенное событие запускается, некоторые HTMLE-элементы не загружены и требуют более длительного времени, а мой HTMLElement, на который мне нужно нажать, тоже отсутствует.
Чтобы объяснить с помощьюкод:
private void Webbrowser_DocumentComplete(object pDisp, ref object URL)
{
if (URL.ToString() == "testsite")
{
HtmlElementCollection c1 = webBrowser1.Document.GetElementsByTagName("div");
foreach (HtmlElement e2 in c1)
{
if (e2.GetAttribute("classname") == "btn3")
{
if (e2.InnerText == "follow")
{
e2.InvokeMember("click");
}
}
}
}
}
Количество «c1» равно 179.
Если я подожду 1-2 секунды и нажму на кнопку с таким же кодом, как:
private void Button1_Click(object sender, EventArgs e)
{
HtmlElementCollection c1 = webBrowser1.Document.GetElementsByTagName("div");
foreach (HtmlElement e2 in c1)
{
if (e2.GetAttribute("classname") == "btn3")
{
if (e2.InnerText == "follow")
{
e2.InvokeMember("click");
}
}
}
}
Количество "c1" равно 194.
Вопрос: как я могу подождать несколько секунд, если страница построена?Мне нужен счет 194, потому что есть ОДИН элемент HTMLEment, который я хочу щелкнуть по нему!