.NET 4.x Дождаться выполнения обработки страницы - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Всем привет, ребят Есть функция, которая парсит сайт и затем записывает нужную инфу в DataGridView. На моем компьютере все работает отлично. Но почему-то на других компьютерах функция работает, парсит все как нужно, но в DataGridView инфу не записывает (Выходит ошибка о не существовании нужного файла). Я грешу на медленную скорость интернета на других компах. Между загрузкой страницы в WebBrowser и ее парсингом стоит задержка в 5 секунд. Видать моего интернета достаточно что бы справится за 5 секунд, а вот на других все печально. Вопрос 1: Правильно ли я думаю? Или дело вовсе не в этом? Тогда в чем? Вопрос 2: Если я правильно думаю, то как сделать так, что бы парсинг не начинался пока страница не будет полностью загружена? Делать задержку в 5 или 10 секунд как-то не эстетично. Для кого то этого будет слишком много, а для кого то на оборот мало. Вот сейчас так:
а нужно вместо цикла While вставить некую функцию, которая не даст дальнейшую обработку кода, пока не будет полностью загружена страница. Ну как то так...
Сделал так, но не работает почему то

Решение задачи: «.NET 4.x Дождаться выполнения обработки страницы»

textual
Листинг программы
        WebBrowser1.Navigate("http://www.myscore.ru/soccer/")
 
        While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete 'ждем завершения загрузки страницы
            Application.DoEvents()
        End While
 
 
        Dim elem As HtmlElement = WebBrowser1.Document.GetElementById("fs")
 
        While elem Is Nothing OrElse Not elem.Style.Contains("opacity: 1")  'ждем появления данных таблицы на странице после работы js
            elem = WebBrowser1.Document.GetElementById("fs")
            Application.DoEvents()
        End While

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5