C# 3.0 具有C#Web浏览器控件的多个页面

C# 3.0 具有C#Web浏览器控件的多个页面,c#-3.0,webbrowser-control,C# 3.0,Webbrowser Control,我试图通过C#net中的webbrowser控件从任何URL下载HTML内容。 我选择webrowser来处理Javascript问题。我正在使用webbrowser控件而不放置 它在表格上。它对一个url非常有效,但当我为多个url调用它时,我无法使用它 下载网页 这是密码 GetWebpage() { System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser();

我试图通过C#net中的webbrowser控件从任何URL下载HTML内容。 我选择webrowser来处理Javascript问题。我正在使用webbrowser控件而不放置 它在表格上。它对一个url非常有效,但当我为多个url调用它时,我无法使用它 下载网页

这是密码

 GetWebpage()
 {
     System.Windows.Forms.WebBrowser wb = new System.Windows.Forms.WebBrowser();


                wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);

                wb.Navigate(sURI, false);  


                bDocumentLoaded = false;

                while (!bDocumentLoaded) 
                {
                    Application.DoEvents(); 
                    Thread.Sleep(100);
                }
                sHTML = wb.DocumentText;

                bDocumentLoaded = false;  

  }
活动:

private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {


            System.Windows.Forms.WebBrowser webBrowser1;         
            webBrowser1 = sender as WebBrowser;

            string strTit = webBrowser1.DocumentTitle;
            string str = webBrowser1.DocumentText;

            bDocumentLoaded = true; 

        }
干杯,
Karthik

您可以使用webclient对象从某个url获取数据

尝试使用下载字符串

 public static void DownloadString (string address)
    {
        WebClient client = new WebClient ();
        string reply = client.DownloadString (address);

        Console.WriteLine (reply);
    }
您也可以使用相同下载字符串的ASYC方法

我认为你的问题是一些网站检测到特定的浏览器类型,然后返回HTML

尝试设置
WebClient对象的
HeaderProperty
,这是
HttpWebRequest
对象的列表

比如说

myWebClient.Headers.Add(“内容类型”,“应用程序/x-www-form-urlencoded”)

修改HTTPWEBRequest的useragent,然后添加到标头。 HTTPWEBRequest.UserAgent=“.NET Framework测试客户端”


您可以在

中查看更多信息。我建议您使用mshtml和SHDocVW库,并使用以下答案中的方法:


我已经尝试过webclient对象,它工作得很好,但有一些页面被Javascript问题阻止。应用程序是否在(!bDocumentLoaded)时挂起?我也遇到了同样的问题,我很好奇其他人在做什么来让WebBrowser控件同步工作