我正在研究一个简单的应用程序,该应用程序会在包含两个下拉菜单和一个按钮的页面中自动浏览。该网页看起来是这样的: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