Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для XOTAB
19 / 18 / 5
Регистрация: 30.05.2010
Сообщений: 227
.NET 4.x

Дождаться выполнения обработки страницы

17.09.2016, 23:42. Показов 3780. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, ребят

Есть функция, которая парсит сайт и затем записывает нужную инфу в DataGridView. На моем компьютере все работает отлично. Но почему-то на других компьютерах функция работает, парсит все как нужно, но в DataGridView инфу не записывает (Выходит ошибка о не существовании нужного файла). Я грешу на медленную скорость интернета на других компах. Между загрузкой страницы в WebBrowser и ее парсингом стоит задержка в 5 секунд. Видать моего интернета достаточно что бы справится за 5 секунд, а вот на других все печально.

Вопрос 1:
Правильно ли я думаю? Или дело вовсе не в этом? Тогда в чем?

Вопрос 2:
Если я правильно думаю, то как сделать так, что бы парсинг не начинался пока страница не будет полностью загружена? Делать задержку в 5 или 10 секунд как-то не эстетично. Для кого то этого будет слишком много, а для кого то на оборот мало.

Вот сейчас так:
VB.NET
1
2
3
4
5
6
7
8
 WebBrowser1.Navigate("http://www.myscore.ru/soccer/")
        Dim sw As Stopwatch = Stopwatch.StartNew()
        While sw.ElapsedMilliseconds < 5000
            Application.DoEvents()
            Thread.Sleep(1)
        End While
        sw.[Stop]()
        File.WriteAllText(parsetmp, WebBrowser1.Document.Body.Parent.OuterHtml, Encoding.GetEncoding(WebBrowser1.Document.Encoding))
а нужно вместо цикла While вставить некую функцию, которая не даст дальнейшую обработку кода, пока не будет полностью загружена страница. Ну как то так...

Добавлено через 27 минут
Сделал так, но не работает почему то

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
        WebBrowser1.Navigate("http://www.myscore.ru/soccer/")
        PictureBox1.Visible = True
 
        Do While WebBrowser1.IsBusy = True
            Application.DoEvents()
        Loop
 
        File.WriteAllText(parsetmp, WebBrowser1.Document.Body.Parent.OuterHtml, Encoding.GetEncoding(WebBrowser1.Document.Encoding))
 
        DataGridView3.Rows.Clear()
        GetListMatches()
        PictureBox1.Visible = False
 
    End Sub
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2016, 23:42
Ответы с готовыми решениями:

Дождаться полной загрузки страницы
Событие WebBrowser1_DocumentCompleted происходит очень много раз при загрузке определенной страницы. Как дождаться полной загрузки страницы...

Дождаться обновления web-страницы в Awesomium
Доброго дня! Как дождаться обновления web-страницы в Awesomium Страница загружается, затем имитирую клик мышки на определенной ссылке ...

Дождаться выполнения процедуры
Доброго времени суток! Есть таймер, в котором постоянно выполняется 30 процедур. Одна из процедур является ресурсоемкой, если точнее, то...

23
Модератор
Эксперт .NET
 Аватар для Yury Komar
4371 / 3441 / 512
Регистрация: 27.01.2014
Сообщений: 6,264
19.09.2016, 22:37
Студворк — интернет-сервис помощи студентам
XOTAB, Sklifosofsky, у меня и первый вариант загрузился.
0
 Аватар для Sklifosofsky
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
19.09.2016, 22:43
Yury Komar, да это кому как повезет, на слабой или загруженной программным хламом машине js работает медленнее относительно
1
 Аватар для XOTAB
19 / 18 / 5
Регистрация: 30.05.2010
Сообщений: 227
19.09.2016, 23:35  [ТС]
Но все равно не на всех компьютерах работает ((( почему блин так а? ((
0
 Аватар для Sklifosofsky
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
20.09.2016, 07:01
XOTAB, попробуйте сделать петлю (можно GoTo). Если парсер не отработал как надо, то надо вернуться к попытке собрать данные со странице (не перегружая её). А все таки на проверяемый компьютерах сперва проверьте права доступа перезаписи tmp.
Нужна конкретная ошибка
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.09.2016, 07:01

Дождаться закрытия всех форм и обработки действий
Такая ситуация: в цикле вызываю формы для построения графиков, у форм немного различаются наборы параметров, при закрытии каждой формы с...

А можно ли дождаться выполнения CreateThread ?
Здравствуйте, Решил немного с в winapi поиграться и понял, что мало че понимаю :) Вот взял самую простую функцию CreateThread: ...

Promise, как дождаться выполнения
Здравствуйте. Есть код, у меня вместо setTimeout идет запись в indexedDB, но это не должно менять суть вещей. console.clear(); ...

Дождаться выполнения сторонней программы (архиватора)
Приветствую. есть процедура которая архивирует папки и в последующем(после того как архивация будет завершена) должна запустить процедуру ...

Как дождаться выполнения асинхронной функции?
Привет, Есть проэкт Node.js+angular+typescript. И у меня есть функция: window.speechSynthesis.speak(new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru