2016-09-27 11 views
0
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     for (int i = 0; i < urlLinks.Count; i++) 
     { 
      string NavigateUrl = "http://abc.co.in" + urlLinks[i].ToString(); 
      webBrowser1.AllowNavigation = true; 
      webBrowser1.ScriptErrorsSuppressed = true; 
      webBrowser1.Navigate(NavigateUrl); 
      HtmlElement htm = webBrowser1.Document.Body; 
      } 
} 

私は上記のコードを持っています。私はURLをループしてコンテンツを読むことができますが、他のURLには移動しません。 urlのリスト私はそれが起こっていると思うループのはるかに高速です。 e.Url.ToString()とurlLinks [0] .ToString()が同じだが、それでも出力に何の違いも生じないなら、私はチックを試みた。 ループ回数の結果が表示されます。C#WebBrowserはURLのリストをループしながら同じページに移動しますか?

ご協力いただければ幸いです。 (WebBrowserコントロール内の各ナビゲーション後の)この行の後

+2

このシナリオをカバーするいくつかの質問があります。[1](http://stackoverflow.com/questions/26912905/c-sharp-webbrowser-in-a-loop)/ [2](http:// stackoverflow .com/questions/30214283/how-to-use-web-browser-control-for-for-loop)/ [3](http://stackoverflow.com/questions/18303758/can-i-wait-for- a-web-browser-to-finish-navigating-for-for-loop)を使用します。基本的に、DocumentCompletedイベント内にループは必要ありません。最初のURLを尋ねると、DocumentCompletedの処理で処理が行われ、インデックスが増加してから、次のURLがない限り、次のURLを要求します。 – Equalsk

答えて

1

webBrowser1.Navigate(NavigateUrl); 

は、関数がDocumentCompletedイベントでこれをしないcalled.BetterなりますwebBrowser1_DocumentCompleted。

関連する問題