首页 新闻 搜索 专区 学院

WebBrowser 提交信息成功 后 怎么 获取 新页面元素

0
悬赏园豆:20 [已关闭问题] 关闭于 2009-02-22 12:27

我用webbrowser模拟登录,在登录前用webbrowser的ocumentCompleted事件( 在 WebBrowser 控件完成加载文档时发生)来提交登录信息,成功了,之后服务器返回的是另一个新的页面,这时候DocumentCompleted事件就找不到新页面的html元素上,就是新页面的文档还没有加载完,webbrowser也有一另一个事件是Navigated(在WebBrowser 控件导航到新文档并开始加载该文档时发生),但它还是在加载时发生,还是不能找到新文档里面的元素

webbrowser的ocumentCompleted事件
private void myWebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{

            HtmlElement btnSubmit = myWebBrowser.Document.GetElementById("Button1");
            HtmlElement tbUserid = myWebBrowser.Document.GetElementById("TxtUserName");
            HtmlElement tbPasswd = myWebBrowser.Document.GetElementById("TxtUserPassword");

            if (tbUserid == null || tbPasswd == null || btnSubmit == null)
                return;

            tbUserid.SetAttribute("value", "chenzehe");
            tbPasswd.SetAttribute("value", "chenzehe");

            HtmlDocument doc = myWebBrowser.Document;

            btnSubmit.InvokeMember("click");//提交后页面导航到新的页面
    //在这里用上面的方法得不到新页面的全部元素
}

webbrowser的Navigated事件

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
        {
          //在这里也只能得到新页面的一些元素,只是body之前的

  }

 

有没有好什么好的方法得到新页面的元素?

 自己弄明白了,当重新加载新页面时就再次执行ocumentCompleted事件

Done的主页 Done | 初学一级 | 园豆:128
提问于:2009-02-22 00:34
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册