2016-07-11 8 views
0

を取得します。あなたのコンテンツのみを取得しているループリストのURLと私は私のプログラムは、私のリストからURLに移動し、次のURLを移動して、再びこのプロセスを繰り返しよりも、文字列にsurceページを保存よりもしたいのC# 上のWebBrowserコントロールに問題があり、リストresaltウェブブラウザのC#

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication37 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     WebBrowser web = new WebBrowser(); 
     private void button1_Click(object sender, EventArgs e) 
     { 
       string[] url = new string[3] {"www.google.com","www.yahoo.com","www.bing.com" }; 

       web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_DocumentCompleted); 
       web.ScriptErrorsSuppressed = true; 

       for (int i = 0; i < url.Length; i++) 
       { 
        web.Navigate(url[i]); 
       } 
     } 

     void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 
      string surce = web.DocumentText; 
     } 
    } 
} 
+0

「surce」で正確に何をやっていますか? – Dispersia

答えて

-1

...以下の私のコードであり、唯一のビングのsurceを得る「www.bing.com」あなたのループは、各ページの読み込みが完了する前に実行され続け、そのためだけのページ実際にはDocumentCompletedイベントが最後に発生します。

これを試してみてください:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    string[] url = new string[3] {"www.google.com","www.yahoo.com","www.bing.com" }; 
    int currUrl = 0; 
    WebBrowser web = new WebBrowser(); 
    private void button1_Click(object sender, EventArgs e) 
    { 
     web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_DocumentCompleted); 
     web.ScriptErrorsSuppressed = true; 

     web.Navigate(url[currUrl]); 
     currUrl++; 
    } 

    void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     string surce = web.DocumentText; 

     if (currUrl < url.Length) 
     { 
      web.Navigate(url[currUrl]); 
      currUrl++; 
     } 
    } 
} 

はそれが役に立てば幸い!

+0

なぜ答えを投票しますか? ドキュメントの読み込みが完了するまで、[ナビゲート]はブロックされません。 –

0

kyokou。あなたの答えのために..今それは動作するが、プログラムは決して配列の最後の項目をcheekしない(この配列リストのために私はyoutubeのウェブサイトを意味する)..私はこのプログラムにDocumentTitleを置くことがわかる... ....、 (最終配列なし)< =問題(1)...
質問2:どのように各結果を別の配列に入れることができますか...私は配列[0]でこのプログラムタイトルgoogleを意味し、配列[1]と...

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication37 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     string[] url = new string[4] { "www.google.com", "www.bing.com","www.msn.com","www.youtube.com" }; 
     int currUrl = 0; 
     WebBrowser web = new WebBrowser(); 
     private void button1_Click(object sender, EventArgs e) 
     { 
      web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_DocumentCompleted); 
      web.ScriptErrorsSuppressed = true; 

      web.Navigate(url[currUrl]); 
      currUrl++; 
     } 

     void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 
      string surce = web.DocumentTitle; 



      if (currUrl < url.Length) 
      { 
       web.Navigate(url[currUrl]); 
       currUrl++; 




       label1.Text += surce; 





      } 
     } 
    } 
} 
関連する問題