请教一下高人 十分感谢       //网页载入计数器
       int count = 0;        public Form1()
        {
            InitializeComponent();
        }        private void button_sel_Click(object sender, EventArgs e)
        {
            string strUrl = this.textBox_httpurl.Text.Trim();
            this.webBrowser_url.Url = new Uri("http://" + strUrl);
            this.webBrowser_url.ScriptErrorsSuppressed = false;
            this.webBrowser_url.NewWindow +=new System.ComponentModel.CancelEventHandler(btn_NewWindow);
            this.webBrowser_url.Navigated += new WebBrowserNavigatedEventHandler(webBrowser_url_Navigated);
            this.webBrowser_url.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_url_DocumentCompleted);
        }
        private void btn_NewWindow(object sender, CancelEventArgs e)
        {            //此地方进入了死循环
            e.Cancel = true;
            
        }        void webBrowser_url_Navigated(object sender, WebBrowserNavigatedEventArgs e)
        {
            count++;
            
        }        void webBrowser_url_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            count--;            if (count==0)
            {
                HtmlElementCollection hec = this.webBrowser_url.Document.All;
                string temp = "";
                for (int i = 0; i < hec.Count; i++)
                {
                    if (hec[i].GetAttribute("href").IndexOf(@"?ref=") > 0)
                    {
    
                       //我想在这里打开链接后始终保持在页内跳转--但是不行不知道怎么解决
                       hec[i].InvokeMember("click");
                       //temp += hec[i].GetAttribute("href").ToString() + "        ";
                    }
                                }
                //MessageBox.Show(temp);
                count = 0;
            }
            
            //MessageBox.Show(count.ToString());
            
        }

解决方案 »

  1.   

    在WEBBROWS内跳转?取到URL,然后将webBrowser重新导航到这个URL?
      

  2.   

    在WEBBROWS内跳转 hec[i].InvokeMember("click");
    在 点击后 它自己跳转 但是不能跳到外部浏览器上去,显示问题是  这句话执行后,就直接跳到 ie里面去打开了
      

  3.   

    你用IE打开这个页面,然后去点这个链接不也会新开一个窗口而你就是在模拟IE操作啊所以,你不要新开窗口,就得 自己去处理那个URL
      

  4.   

    理论上应该可以改的,你从服务端得到JS是要在客户端解析的,你用你的JS替换掉它的就可以了
    实际怎么做,我没试过
      

  5.   

    如果要你实现网络爬虫之类的好像 直接写HTTPREQUEST之类的比较好,更容易操作