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

本文关键字:加载 等待 GetResponse HttpWebRequest | 更新日期: 2023-09-27 18:15:24

我正在使用这个代码:

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.GetResponse()等待页面完全加载

HttpWebRequest根本不会执行java脚本。它只是给你网页浏览器得到的响应。要执行java脚本,您需要在代码中模拟web浏览器。