C# 使用 HTTPWebRequest 拉取网页并从站点执行 JavaScript



有没有办法使用 HTTPWebRequest 获取网页,然后执行页面上的所有 javascriptcode 以及 ajax 调用并将结果保存到字符串中?

我想解析一个网站,其中一些图像是通过 js 代码生成的,并且在 js 脚本运行之前图像不在网页上。

现在我在网上搜索了这个问题的解决方案,但我发现的只是这样的答案是不可能的,请使用网络浏览器,这对我来说不是一个选择。

问候

您可以使用

C++ http系统来做到这一点,该系统使您可以对接收的数据进行大量控制,但我想这不是一个真正的答案,所以......

为什么不尝试将 webkit 放入您的应用程序中,并从中运行事件。它有几个事件,可以在下载开始和完成时通知您。

我做了一些研究,只是因为我认为它很有趣。我发现了一种叫做Phantom的东西.js它看起来可以满足你的需求。看看吧:http://phantomjs.org/

这确实是不可能的,正如我在尝试满足急需的需求时发现的那样。Javascript将执行,但不会进行Ajax调用。

我选择的解决方案是通过代码隐藏文件(C#代码)同步获取Ajax调用的所有数据,并使用脚本标记将代码隐藏变量分配给Javascript变量,并让Javascript完成其工作(构建动态元素等)。

相关内容

最新更新