Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
28 / 2 / 1
Регистрация: 02.11.2018
Сообщений: 40
1

Выполнить действие после загрузки страницы WebBrowser

02.02.2019, 14:15. Показов 1694. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня в форме есть webbrowser. Он переходит по определенной ссылке и нажимает там кнопку. После чего через 100 мс на странице появляется div элемент.

Вопрос: Как мне отследить его появление и выполнить какое-то действие?

Сначала пробовал "проверку" на загрузку страницы, но это сюда не подошло, так как элемент появляется только спустя 100 мс после загрузки страницы.

"Проверка" на загрузку станицы (сюда не подходит):
C#
1
2
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
    Application.DoEvents();
Я новичок.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2019, 14:15
Ответы с готовыми решениями:

Webbrowser Делать действие только после полной загрузки страницы
Здравствуйте! Мне не получается решить одну проблему. Я создаю автокликер, для этого использую...

Как выполнить действие после полной загрузки формы? События Load и Shown не подходят!
Добрый день, народ! Подскажите, пожалуйста! Как выполнить действие после ОКОНЧАТЕЛЬНОЙ И ПОЛНОЙ...

Прогресс загрузки страницы в WebBrowser
Как узнать прогресс загрузки страницы в WebBrowser? В win forms у него было событие...

Ожидание загрузки страницы в WebBrowser
Суть проблемы - мне нужно чтобы после полной загрузки страницы он возвращался в button1_Click. Но...

4
89 / 86 / 39
Регистрация: 19.10.2012
Сообщений: 243
03.02.2019, 21:15 2
Вот так примерно (писал на коленке, студии под рукой нет):
C#
1
2
3
4
5
6
7
8
9
10
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) //Событие загрузки документа
        {
            string page_code = ""; //Строковая переменная исходного кода страницы
            bool load_div = false; //Флаг загрузки div
            while (load_div == false) //Выполняем цикл пока div не загрузится
            {
            page_code = webBrowser1.DocumentText; //Присваиваем строке исходный код страницы
            load_div = page_code.Contains("<div id=айдишник дива>"); //Когда div загрузится, флаг станет true и и цикл прекратится
            }
        }
То есть вам нужно через браузер посмотреть исходный когд страницы после загрузки дива и найти там его идентификатор, ну или какой-нибудь кусок кода, который появляется только после загрузки div и вставить его в скобки после Contains.
1
28 / 2 / 1
Регистрация: 02.11.2018
Сообщений: 40
08.02.2019, 18:15  [ТС] 3
Конечно, спасибо... Но, как я и догадывался, форма виснет... Я уже пробовал сделать что-то подобное, но из-за бесконечного цикла while (хотя он конечный) форма виснет... Как это исправить?
0
28 / 2 / 1
Регистрация: 02.11.2018
Сообщений: 40
09.02.2019, 13:08  [ТС] 4
Как я понял, нужно использовать второй поток и делегаты invoke... Только вот я не понимаю, как их использовать.
0
28 / 2 / 1
Регистрация: 02.11.2018
Сообщений: 40
23.06.2019, 01:14  [ТС] 5
Я вспомнил про эту тему, и да, я тогда создал второй поток, и запихал все, кроме цикла в Invoke
0
23.06.2019, 01:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2019, 01:14
Помогаю со студенческими работами здесь

Как дождаться загрузки страницы в webBrowser?
Здравствуйте. Делаю так: webBrowser1.Navigate(&quot;vk.com&quot;); while...

WebBrowser - событие при окончании загрузки страницы
Как сделать событие при окончании загрузки страницы webBrowser Допустим, чтобы выполнялось...

Отключить отображение страницы до полной ее загрузки в WebBrowser
Через веббраузер грузятся изображения, которые надо обновлять каждые 3 сек. После вызова Refresh ...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru