2013-09-23 68 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「 –