WebBrowser + RaiseEvent
От: Ronaldo 9  
Дата: 19.04.11 05:07
Оценка:
Всем привет.
Есть WebBrowser, в котором я работаю с неким сайтом. На сайте есть два комбобокса. Значения во втором зависят от значений в первом.
Требуется установить в комбобоксы нужные значения.
Делаю так:

        private void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (browser.ReadyState != WebBrowserReadyState.Complete) return;

            var combo1 = browser.Document.GetElementById("lst2");
            var combo2 = browser.Document.GetElementById("lst3");

            combo1.SetAttribute("SelectedIndex", "4");
            combo1.RaiseEvent("onchange");

            combo2.SetAttribute("SelectedIndex", "7");
        }


Как и ожидалось — не работает. Точнее, значение в первый комбобокс успешно подставилось, успешно подгрузился список значений во второй комбобокс, но нужное значение во втором не выбралось. Понимаю, проблема в том, что javascript обработчик onchange не успевает отработать. Но как словить момент окончания onchange? DocumentCompleted не выбрасывается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.