1

我正在使用这段代码:

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函数仍然没有执行。

4

1 回答 1

1

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

于 2013-05-27T09:38:46.307 回答