HTMLAgilityPack获取AJAX值

时间:2010-11-05 15:19:17

标签: ajax asp.net-ajax html-agility-pack

我试图使用HtmlAgilityPack获取计时器的值但是当我通过元素ID获取innerText时它返回 - : - : -

有没有办法获得时间值,因为它使用AJAX?

1 个答案:

答案 0 :(得分:1)

当你加载HttpAgilityPack.HtmlDocument(当然是来自网络)时,它会向网站发出HTTP Web请求,而你收到的是纯文本。没有加载AJAX / JavaScript或图像。当你在浏览器中看到它时,你并没有意识到它,因为它是一个浏览器;)。收到响应后,它会开始加载图片,动画和执行javascript代码,但HtmlAgilityPack使用HttpWebRequest来获取源代码,并且它不会管理任何javascript代码。

我建议您下载一个非常出色的工具来检查网络中的HTTP流量:Fiddler2。它将允许您设置断点,并确切地查看响应的返回方式,并且您将看到这些内容实际上是由浏览器本身处理的。

我真的不知道在AJAX中获取计时器的时间值的目的是什么,但我认为您可以使用WaTiN使用Internet Explorer加载源(并隐藏它,因为如果没有,IE窗口将显示在加载页面的屏幕上),并且在您需要获取计时器的值时,从WaTiN获取源并使用HtmlDocument加载LoadHtml(string html)