【发布时间】:2014-02-24 14:11:43
【问题描述】:
我想从其他网站下载最终的 html 源代码(在所有 javascript 代码运行之后)。 例如,我在远程 html 文件中有一个部分 jquery,如下所示:
$(document).ready(function () {
$('#dynamic').after('some dynamic content when page load');
});
这是在我的 c# 代码中:
var client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
var content = client.DownloadString("http://myremotedomain.com/");
并且还使用 WebRequest 和 WebResponse 来做与上面相同的事情。 甚至可以从此链接Use webbrowser control in asp.net以窗口形式使用Webbrowser
但我无法获得最终的 html 源代码,结果只是原始 html,不受 JavaScript 影响。
【问题讨论】:
-
浏览器中的 javascript 代码没有“之后” - 它一直运行到您关闭页面为止。
-
一般情况下您不应该这样做 - 现在是 2014 年,所有想要共享其数据的网站都为此提供了方便的 API。
-
@zerkms "after" 是 jquery 函数!我的目的是使用“Webclient”,“HttpWebRequest,HttpWebResponse”从其他网站下载 html 源,但它们都返回原始 html。这意味着远程域之前的 html 通过 jquery 插件或一些 javascript 代码填充其 html 内容。如果您不知道我的意思,请告诉我!谢谢。
-
我知道你的意思,你对浏览器中 JS 工作原理的理解是错误的。
-
请给我解决这个问题的方法!? .net 中是否有任何东西可以做到这一点。
标签: c#