Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpWebRequest.GetResponse()等待页面完全加载_C#_Httpwebrequest_Httpwebresponse_Getresponse - Fatal编程技术网

C# HttpWebRequest.GetResponse()等待页面完全加载

C# HttpWebRequest.GetResponse()等待页面完全加载,c#,httpwebrequest,httpwebresponse,getresponse,C#,Httpwebrequest,Httpwebresponse,Getresponse,我正在使用以下代码: HttpWebResponse objHttpWebResponse = (HttpWebResponse)objHttpWebRequest.GetResponse(); return new StreamReader(objHttpWebResponse.GetResponseStream()).ReadToEnd(); 我成功地获取了页面内容,但我的问题是页面上有一些由javascript函数填充的动态内容,并且似乎在这些函数完成执行之前获取了内容,因此页面的这些部

我正在使用以下代码:

HttpWebResponse objHttpWebResponse = (HttpWebResponse)objHttpWebRequest.GetResponse();
return new StreamReader(objHttpWebResponse.GetResponseStream()).ReadToEnd();
我成功地获取了页面内容,但我的问题是页面上有一些由javascript函数填充的动态内容,并且似乎在这些函数完成执行之前获取了内容,因此页面的这些部分返回时没有填充数据,有什么办法解决这个问题吗“等待页面完全加载,包括所有内容”

编辑:

关于“@ElDog”答案,我尝试了以下代码,但没有成功:

        WebBrowser objWebBrowser = new WebBrowser();
        objWebBrowser.DocumentCompleted += objWebBrowser_DocumentCompleted;
        objWebBrowser.Navigate(url);
在文档完成事件中,我执行了以下代码:

string content = ((WebBrowser)(sender)).Document.Body.InnerHtml;

但是javascript函数仍然没有执行。

HttpWebRequest根本不会执行java脚本。它只提供web浏览器得到的响应。要执行java脚本,您需要在代码中进行web浏览器模拟。

HttpWebRequest根本不会执行java脚本。它只提供web浏览器得到的响应owser得到了响应。要执行java脚本,您需要在代码中进行web浏览器模拟。

我使用的是WinForms,您的意思是将我的url提供给浏览器控件,让它完成加载,然后获取页面内容,还是有其他方法?自动化web浏览器控件并从中获取解析结果可能是一个解决方案,尽管我从未这样做过呃,我自己做的。我前一段时间做了服务器端网页解析,我真的错过了“非用户界面”“可以在页面上运行java脚本和其他动态内容的浏览器。我使用的是WinForms,你的意思是将我的url提供给浏览器控件,让它完成加载,然后获取页面内容,还是有其他方法?自动化web浏览器控件并从中获取解析结果可能是一个解决方案,尽管我自己从未这样做过。”。不久前我做了服务器端网页解析,我真的错过了可以在页面上运行java脚本和其他动态内容的“非UI”浏览器。我建议您参考以下链接RJK,您的示例解释了如何异步运行http请求,但它们无法解决pb问题。无论是否异步,HttpWebRequest都不会运行java脚本。我建议您参考以下链接RJK,您的示例解释了如何异步运行http请求,但它们无法解决pb问题。无论是否异步,HttpWebRequest都不会运行java脚本。