2013-09-23 37 views
3

我正在使用Html Agility Pack从网站获取数据(报废)Html-Agility-Pack没有载入全页面的页面?

我的问题是我从网站获取数据是加载页面加载几秒钟后的一些内容。

因此,每当我试图从特定的分区读取特定的数据,它给我空。

但在var page我只是没有得到部门reviewBox ..因为它尚未加载尚未。

public void FetchAllLinks(String Url) 
{ 
    Url = "http://www.tripadvisor.com/"; 
    HtmlDocument page = new HtmlWeb().Load(Url); 

    var link_list= page.DocumentNode.SelectNodes("//div[@class='reviewBox']"); 

    foreach (var link in link_list) 
    { 
     htmlpage.InnerHtml = link.InnerHtml; 
    } 
} 

所以任何人都可以请告诉我如何延缓那

HtmlDocument page = new HtmlWeb().Load(Url); 

将在page varibale

回答

2

这不是拖延请求加载完整数据的请求。该节点由JavaScript使用DOM填充,并且Html Agility Pack是该需求的错误工具(它根本不是Web引擎,它只加载基本Html)。

当我需要得到需要完整的Web引擎解析的东西时,我通常使用WatiN。它旨在帮助单元测试实际的网页,但这意味着它允许通过给定的浏览器引擎对网页进行编程式访问,并将加载完整的文档。它配备了开箱即用的IE或Firefox驱动程序,我隐约记得Chrome也不难用。

+0

thnx ....将让你知道一旦我去槽.. –

+0

没有..它不与火狐24.0 ..我不能安装JSSH在莫吉拉... –

+0

“适用于Internet Explorer 6,7, 8,9和FireFox 2和3“ –