我正在使用此代码:
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函数仍未执行。
答案 0 :(得分:1)
HttpWebRequest根本不会执行java脚本。它只是为您提供了Web浏览器的响应。要执行java脚本,您需要在代码中进行Web浏览器模拟。