2009-07-23 11 views
0

私は、私が解析してデータをダンプするために必要なURLのリストを持っています。ページにはajaxが必要で、正しく解析するにはhtmlではなくDOMが必要です。だから私はWebブラウザコントロールを使用しています。どのようにイテレータをリストに入れて各ページを解析するのですか?私はあなたがそれを設計している方法はうまく動作するつもりはない複数のページを繰り返す、ウェブブラウザーコントロール

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(); 
    } 

答えて

1

を書いています。ドキュメントが完全にロードされたことを知るには、WebブラウザのDocumentCompletedイベントに登録する必要があります。しかし、Navigateを素早く呼び出しても機能しません。あなたはpageListの最初のページに移動して、document completeの呼び出しからそれを解析し、次に次のページに移動する必要があります。

0

あなたはHtml Agility Packを見ましたか?これにより、XPATHステートメントを使用してDOMを読み書きすることができます。

ここには、CodeplexのプロジェクトへのURLが記載されています。

関連する問題