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根本不会执行java脚本。它只是给你网页浏览器得到的响应。要执行java脚本,您需要在代码中模拟web浏览器。