如何通过 AngularJS 生成的 c# 页面 html 进行检索
本文关键字:html 页面 检索 何通过 AngularJS | 更新日期: 2023-09-27 18:36:47
我需要检索使用AngularJS处理一些信息并生成图形的页面的HTML代码。我可以使用WebRequest轻松检索html代码,如下例所示,但是AngularJS生成的内容(图形)不在页面代码中。
WebRequest request = WebRequest.Create("http://localhost:36789/minhaapp#/index");
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
html = sr.ReadToEnd();
}
有没有人经历过这种情况?
提前感谢您的支持。
在 Page_Load
方法结束时,调用此getHTMLContent()
方法:
public string getHTMLContent()
{
StringBuilder sb = new StringBuilder();
StringWriter tw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(tw);
panel.RenderControl(hw);
String html = sb.ToString();
return html;
}
整个页面包含在名为 panel
的asp:Panel
中。这种工作方式来自RenderControl()
方法,您可以在此处阅读更多内容。简而言之,它获取asp:Panel
标签(整个页面)中的所有内容,一旦在执行Page_Load
事件后使用,它将获取页面的所有原始 HTML。
有一个名为PhantomJS的库,它首先将js从站点上渲染出来,然后你可以在渲染后获取源代码。但显然,如果你做很多网站,它也会减慢这个过程