Пишу небольшое приложение, использую webbrowser.
Есть форма, программно ее заполняю, нажимаю кнопку,
Форма изменяется без перезагрузки страницы (Ajax), т.е. отследить обновление не получается.
Во вторую форму нужно тоже внести некоторые данные…
Решения вижу два — либо как-то отловить событие об обновлении страницы, либо сделать паузу в выполнении…
Но как правильно реализовать, найти так и не удалось…
Нашел такую функцию, она работает, но очень медленно…
private void waitTillLoad()
{
WebBrowserReadyState loadStatus;
//wait till beginning of loading next page
int waittime = 100000;
int counter = 0;
while (true)
{
loadStatus = webBrowser1.ReadyState;
Application.DoEvents();
if ((counter > waittime)||(loadStatus == WebBrowserReadyState.Uninitialized)||(loadStatus == WebBrowserReadyState.Loading)||(loadStatus == WebBrowserReadyState.Interactive))
{
break;
}
counter++;
}
//wait till the page get loaded.
counter = 0;
while (true)
{
loadStatus = webBrowser1.ReadyState;
Application.DoEvents();
if (loadStatus == WebBrowserReadyState.Complete)
{
break;
}
counter++;
}
Подскажите, пожалуйста, нормальное решение…