我正在研究一個簡單的應用程序,該應用程序會在包含兩個下拉菜單和一個按鈕的頁面中自動瀏覽。該網頁看起來是這樣的:c#webBrowser.Document:在回發後重新加載頁面
------ DropDown1 -------
------ DropDown2 -------
- -----按鈕---------
現在,問題是,通過Dropdown1
選擇是動態生成的DropDown2
內容。
我在C#寫了這樣的代碼:
private void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement elem = webBrowser1.Document.GetElementById("DropDown1");
elem.SetAttribute("selectedIndex", "1");
elem.RaiseEvent("onChange");
HtmlElement elem = webBrowser1.Document.GetElementById("DropDown2");
elem.SetAttribute("selectedIndex", "5");
elem.RaiseEvent("onChange");
}
提高onChange
事件之後,瀏覽器加載新的值,但我不能獲取和設置DropDown2
值,因爲文件仍然認爲DropDown2
價值觀是空的。
如何獲取並設置在DropDown2
中生成的新值?
我想到了這一點,但「DocumentCompleted」處理程序沒有運行後回發。在dropDown1中選擇一個項目只會觸發一個函數來填充DropDown2。所以Documentcompleted被激發一次。另外還有一點需要注意的是,當我在onChange之後延遲System.Threading.Thread.Sleep(5000);該線程只是等待完成回發5秒,它不工作..任何其他建議? – dreampowder 2011-03-02 15:01:55