解决方案 »

  1.   

    “网页开始在第一页,执行上面这个操作后,就模拟点击第二页,然后再执行同样的操作......”程序将网页导航到第二页,就应该立刻结束了。然后,等到你的 webBrowser 触发 DocumentCompleted 事件,并且当它的 ReadyState 属性为 WebBrowserReadyState.Complete 时,才能执行 ShowObj(webBrowserMain, pcon)
      

  2.   

    帮忙顶下,希望可以帮我看看我的帖子,谢谢了
    http://bbs.csdn.net/topics/390651035 
      

  3.   

    给你写个捕获事件的例子:WebBrowserDocumentCompletedEventHandler proc1 = null;
    WebBrowserDocumentCompletedEventHandler proc2 = null;
    proc1 = new WebBrowserDocumentCompletedEventHandler((sender, e) =>
        {
            if (this.webBrowser1.ReadyState == WebBrowserReadyState.Complete)
            {
                this.webBrowser1.DocumentCompleted -= proc1;
                this.webBrowser1.DocumentCompleted += proc2;
                this.webBrowser1.Navigate("http://bbs.csdn.net/topics/390650774");
            }
        });
    proc2 = new WebBrowserDocumentCompletedEventHandler((sender, e) =>
    {
        if (this.webBrowser1.ReadyState == WebBrowserReadyState.Complete)
        {
            this.webBrowser1.DocumentCompleted -= proc2;
            this.webBrowser1.Navigate("http://bbs.csdn.net/topics/390651044");
        }
    });
    this.webBrowser1.DocumentCompleted += proc1;
    this.webBrowser1.Navigate("http://bbs.csdn.net/");这里,等google页面真正完全加载完毕,才会导航到第二个页面。同样地,等完全加载完毕,才会去执行proc2。当页面还有某些内容没有下载完毕(例如某个js文件、某个图片),则不会向下执行。
      

  4.   

    如果会写代码var a=1;
    var b= a+1;
    这种顺序执行的代码,可能每一个人都会写。这没有什么门槛。但是如果现实需要你对程序执行环境知识的理解稍微复杂一点,这就需要学习了。
      

  5.   

    其实代码是一回事,思路更重要。一看到你写的 while 循环结构中间的那几句,就知道有问题了。触发Click按键操作之后,你的程序就应该结束了。然后等浏览器通知你“下载完毕”之后再去继续处理。