WebBrowser и событие полной загрузки

haicon
Дата: 28.04.2014 00:17:20
Добрый день.

Пытаюсь сделать автозаполнение формы, но не понятно какое событие сигнализирует о полной загрузке и отрисовки.

пытасю сделать следующее:
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath) 
          return;

    this.MainStripStatusLabel.Text = "Done";

    Thread.sleep(10000); // вставлено только для проверки
    
    HtmlElement elem = webBrowser1.Document.GetElementById("some_field");   // элемент находит
    elem.InnerText = "555555";            // смотрю в отладчике не поменялось
    

}

// А вот если после загрузки страницы сделать тоже самое только по кнопке, это работает.
        private void button1_Click(object sender, EventArgs e)
        {
           
                HtmlElement elem = webBrowser1.Document.GetElementById("some_field");
                elem.InnerText = "666666";
        }



Причем если посмотреть на форму в момент работы Thread.sleep(10000); то форма чистая нет загруженных данных. Как это сделать, что бы код срабатывал после загрузки и отображения данных в компоненте?
_=ДОБРЫНЯ=_
Дата: 28.04.2014 14:33:18
Вам обязательно нужно отображение страницы в браузере? Или Вы пытаетесь получить данные для обработки после авторизации?
haicon
Дата: 28.04.2014 14:48:06
Не обязательно. Главное что бы в поле заполнелось после того, как произойдет загрузка страницы.
Antonariy
Дата: 28.04.2014 16:08:05
 elem.InnerText = "555555";            // смотрю в отладчике не поменялось
Если elem это <input>, то нужно использовать value, а не innerText.
_=ДОБРЫНЯ=_
Дата: 28.04.2014 16:12:17
Вы видимо не поняли вопроса. Вам нужно отображение контента в программе или Вы просто хотите получить какие-то данные имея данные авторизации?
Если Вам нужно скрыто получать данные без браузера - то нужно воспользоваться отправкой POST-запросов.
Для этого через FireFox зайдите туда куда Вам надо и посмотрите какие запросы с параметрами отправляются после нажатия кнопки авторизации. В своей программе Вам нужно прописать алгоритм захода на сайт с подставленными параметрами с подключенмием временных КУКИСОВ. А после этого черпайте с сайта все что Вам нужно и анализируйте приходящие ответы.
Вот один из примеров, в самом начале темы чел. приводит функцию "WRequest". Этого для старта Вам должно хватить.