2009-07-23 7 views
0

Ich habe eine Liste von URLs, die ich analysieren und aus Daten dumpen muss. Die Seiten erfordern Ajax und ich benötige das DOM (und nicht HTML), um richtig zu analysieren. Also benutze ich ein Webbrowser-Steuerelement. Wie durchläuft ich eine Liste und parse jede Seite? Ich schreibeIterieren durch eine Reihe von Seiten, Webbrowser Steuerelement

for(int i=0; i<pageList.Count; i++) 
    { 
     webBrowser1.Navigate(pageList[i]); 
     //but i need to wait until the page is done loading 
     //wait for the AJAX to finish 
     //allow the JS to run 
     parsePage(); 
    } 

Antwort

1

Die Art, wie Sie es entworfen haben, wird nicht gut funktionieren. Sie sollten das Ereignis DocumentCompleted des Webbrowsers abonnieren, um zu wissen, wann das Dokument vollständig geladen wurde. Aber das schnelle Navigieren in Navigate funktioniert nicht. Sie müssen zum ersten in Ihrer PageList navigieren und dann von einem Aufruf im Dokument vollständig analysieren und dann zur nächsten Seite navigieren.

0

Haben Sie sich das Html Agility Pack angesehen? Dies ermöglicht Ihnen, das DOM mit XPATH-Anweisungen zu lesen/schreiben.

Hier ist die URL zum Projekt unter Codeplex.

Verwandte Themen