■66988 / inTopicNo.1) |
WebBrowerで次々とhtmlを読み込む処理方法について |
□投稿者/ suffre (1回)-(2013/06/16(Sun) 10:42:49)
|
分類:[C#]
C#でwebBrowserを使ってサイト巡回の処理を作っています。
DocumentCompletedイベントを指定しトリガーされると「読み込み終了」となるので次の処理をDocumentCompleted関数内に記述しています。
-------------------------------------------- private void button1_Click(object sender, EventArgs e){ WebBrowser wb = webBrowser1; wb.Url = "http://example.com/aaa/"; }
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){ textBox1.AppendText(wb.Document.GetElementById("id_aaa").InnerText); // 次の処理 } --------------------------------------------
というふうに記述しています。
この「次の処理」のところで再び別のURLを指定した場合、またDocumentCompletedがイベントとして呼ばれるのでしょうか?つまり、
-------------------------------------------- private void button1_Click(object sender, EventArgs e){ WebBrowser wb = webBrowser1; wb.Url = "http://example.com/aaa/"; }
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){ // 次の処理 WebBrowser wb = (WebBrowser)sender; wb.Url = "http://example.com/bbb/"; // ★ textBox1.AppendText(wb.Document.GetElementById("id_aaa").InnerText); } --------------------------------------------
上記だと、★の行に来た時にwebBrowser1_DocumentCompletedがまた呼ばれることになるのでしょうか? そうすると再び★の行に来てループしてしまうような…。
やりたいことは、一つ目のURLを読み込んで読み込み完了したらそのコンテンツを処理をし、次のURLを読み込んで読み込み完了したらそのコンテンツを完了・・・(以下同様に次のURL読み込み)・・・ということをやりたいのですが、 どのような処理を書けば良いのでしょうか? 上手な処理方法がわかりません。
すみませんがよろしくお願い致します。
|
|