HttpWebRequest.GetResponse()等到页面完全加载

时间:2013-05-27 09:35:02

标签: c# httpwebrequest httpwebresponse getresponse

我正在使用此代码:

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函数仍未执行。

1 个答案:

答案 0 :(得分:1)

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