Как ждать контроля WebBrowser в C # - PullRequest
3 голосов
/ 19 января 2012

Я пытаюсь удалить <object> теги, которые вставляются JavaScript на страницу. Когда вызывается событие DocumentCompleted WebBrowser, флэш-контент еще не внедрен. Я попытался реализовать Thread.Sleep и дождался таймера, но все они, похоже, «затормозили» процесс, не давая элементу управления веб-браузера отрисовать. Есть ли способ ожидания в течение короткого периода времени (5 секунд или около того), который позволяет веб-браузеру продолжать выполнять JavaScript?

1 Ответ

1 голос
/ 26 декабря 2013

Вместо использования System.Threading.Thread.Sleep (....) в потоке пользовательского интерфейса используйте что-то вроде этого:

DateTime maxWaitTimeout = DateTime.Now.AddSeconds(5);
while (DateTime.Now < maxWaitTimeout)
{
    System.Windows.Forms.Application.DoEvents();
    System.Threading.Thread.Sleep(100);
    /// now check required element and call 'break' if needed
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...