3

我的要求是从网页中提取所需的内容。该页面有一个使用 ajax 填充的部分。当我在页面源中查看时,它没有显示使用 ajax 加载的内容。部分内容将根据选中的复选框而改变。如果我们选择“印度”复选框,则该部分将显示印度的所有详细信息。页面源将仅显示默认内容,而不是使用 ajax 显示的内容。选中复选框后我检查了页面源,但它仍然只显示默认值。如何获取该部分内容,

4

2 回答 2

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);
于 2012-12-04T17:13:36.937 回答
0

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

于 2012-08-24T08:37:03.730 回答