问题如上,代码如下:在窗体中放了一个webBrowser控件和一个button1,webBrowser的URL指向
http://passport.baidu.com/?login,点击按钮
private void button1_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.HtmlDocument document =this.webBrowser1.Document;   
            if ( document == null )   
            {   
                return;   
            }
            document.All["username"].SetAttribute("Value", "用户名");            //用户名   
            document.All["normModPsp"].SetAttribute("Value", "密码");      //密码 
            document.All[108].InvokeMember("click");    //登录按钮的click方法
            //上面显示登录成功的界面,下面进行跳转,就没有用户了。
            this.webBrowser1.Navigate("http://tieba.baidu.com/");
         }上面显示登录成功的界面,可以看到我已经登录了,下面进行跳转到贴吧的网页,就没有用户了。这是为什么,请高手指教。

解决方案 »

  1.   

    没错,我发现真的是假登录,我直接在webBrowser里面输入用户名和密码,然后进入贴吧,用户信息都保存下来了,使用上述代码,就出问题。有什么好的解决方案吗?
      

  2.   

    Click之后自己没有Navigate的吗?
    有的话在那个Navigate之后再在DocumentComplete的时候Navigate
      

  3.   

    不要直接navigate,获取页面上的链接试试
      HtmlElementCollection hc = web.Document.GetElementsByTagName("a");
                                foreach (HtmlElement he in hc)
                                {
                                    if (hh1.InnerText == "贴吧")
                                    {
                                        hh1.InvokeMember("click");
                                       
                                    }
                                
                                }
      

  4.   

    要在页面DocumentComplete完成以后在跳转我之前碰到过,提交之后,没有等待页面完成就跳转了,结果就丢失了; 
      

  5.   

    document.All[108].InvokeMember("click");    //登录按钮的click方法 
                //上面显示登录成功的界面,下面进行跳转,就没有用户了。 
                this.webBrowser1.Navigate("http://tieba.baidu.com/");明显这里有问题,click后,是需要一段时间的
      

  6.   

    当你的document.All[108].InvokeMember("click"); 提交了以后
    登录成功的页面还没有加载完成,你就 this.webBrowser1.Navigate("http://tieba.baidu.com/"); 
    跳转页面,所以看不到登录成功的页面了.
      

  7.   

    private void button1_Click(object sender, EventArgs e)
      {
      System.Windows.Forms.HtmlDocument document =this.webBrowser1.Document;   
      if ( document == null )   
      {   
      return;   
      }
      document.All["username"].SetAttribute("Value", "用户名"); //用户名   
      document.All["normModPsp"].SetAttribute("Value", "密码"); //密码  
      document.All[108].InvokeMember("click"); //登录按钮的click方法
      //上面显示登录成功的界面,下面进行跳转,就没有用户了。
      hread.Sleep(1000);//重点(需要引用using System.Threading;)
      this.webBrowser1.Navigate("http://tieba.baidu.com/");
      }