使用HtmlWeb.Load抓取jquery加载的内容

时间:2013-12-20 20:03:14

标签: vb.net html-agility-pack

记住这个问题。我能够很好地检索网站的所有信息,除了在我收到内容响应之后(我猜)用Jquery加载的信息。

有没有办法获得这种动态加载的内容?我已经尝试在谷歌和这里搜索这个,但无法弄清楚如何很好地描述我的问题..

简单的情况: 我的网站上有汽车信息:http://www.autowiki.nl/autovergelijker 有不同的下拉列表,最重要的是例如'merk'(汽车品牌) 当我选择一个汽车品牌时,模型的下拉列表中已经填充了匹配的品牌(这也改变了网址)

因此,如果我访问网站http://www.autowiki.nl/autovergelijker/#merk_1=15,我会在浏览器中看到品牌下拉列表中包含“Hyundai”,下拉模型包含匹配的现代模型

我想要什么 要读出下拉列表模型中的所有模型

我的代码

Dim page as HtmlWeb = New HtmlWeb
Dim doc as HtmlDocument = page.Load('http://www.autowiki.nl/autovergelijker/#merk_1=15')
Dim crawlstring as String = doc.DocumentNode.SelectSingleNode("//select[@id='model_1']").InnerHtml

我得到了什么 Crawlstring包含一个选项,它是empy的'---'。而不是匹配的模型

1 个答案:

答案 0 :(得分:0)

使用C#

var list=new List<yourVar>();var web = new HtmlWeb(); var doc = web.Load("http://www.autowiki.nl/autovergelijker/#merk_1=15"); var xpath = "//select[@id='model_1']//option[@value]";foreach (HtmlNode Node in doc.DocumentNode.SelectNodes(xpath)){ var yourVar=Node.Attributes["value"].Value;list.Add(yourVar);}