2012-08-24 82 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);