2012-08-24 54 views
3

我的要求是从网页中提取所需的内容。该页面有一个正在使用ajax填充的部分。当我在页面源中查看时,它不显示使用ajax加载的内容。节内容将根据选中的复选框进行更改。如果我们选择“印度”复选框,那么该部分将显示印度的所有细节。页面源将仅显示默认内容,而不是使用ajax显示的内容。选中该复选框后,我检查了页面源,但它只显示默认值。如何获取该部分内容,如何从网页中提取动态AJAX内容

回答

0

在Firefox中使用Firebug。在NET选项卡下,您将看到加载的额外内容。

+0

谢谢Zuuum。我帮助看到了加载的额外内容。你可以帮助我如何使用C#代码访问该内容。所以我会从网页中提取所需的内容。 – Maddy

4

在C#中,您可以使用HTMLAgilityPack来抓取数据,但是如果您使用webBrowser.DocumentText,则无法从网页加载ajax内容来获取xpath。所以在webBrowser控件完全加载网页之后。在Document_Complete方法中,您在下面添加一些代码:

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
this.webBrowser1.Document; 
IHTMLDocument2 currentDoc =(IHTMLDocument2)this.webBrowser1.Document.DomDocument; 

doc.LoadHtml(currentDoc.activeElement.innerHTML);