0

WebBrowser コントロールを使用して Web サイトを解析しています。結果は良好ですが、Ajax 経由でページ全体をロードするために ScrollDown が必要な Web サイトでは問題があります。「DocumentCompleted」イベントを発生させようとしましたが、このステップではドキュメントは既にコントロールにロードされており、上部だけです (つまり、スクロールせずに)。また、キーを送信してスクロールダウンを強制するか、さまざまな WebBrowser 状態に対して javascript を実行しようとしましたが、成功しませんでした。

私は助けが必要です、

ありがとう、

4

1 に答える 1

1

I found the answer for this question.What I had to know is
in the following code:

 public partial class Form1 : Form      
 {
    bool finished=false;
    public Form1()
    {            
        InitializeComponent();
        this.WindowState=FormWindowState.Maximized;          
        webBrowser1.ScriptErrorsSuppressed=true;            
        this.Show();                                 
        Wait4Load();
        string aaa = webBrowser1.DocumentText;                 
    }   

     void webBrowser1_DocumentCompleted(objectsender,WebBrowserDocumentCompletedEventArgs e) 
     {
         if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
         {
             finished = true;
             button1.PerformClick();
         }
     }

     void Wait4Load() 
     {
        webBrowser1.DocumentCompleted+=new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);             
        button1.Click+=new EventHandler(button1_Click);         
       if(!finished) 
        {
            Application.DoEvents();
            Thread.Sleep(2000);
        } 
         finished = false;
     }

     void button1_Click(object sender, EventArgs e) 
     {           
       //footerWrapper
         while(webBrowser1.ReadyState != WebBrowserReadyState.Complete)
           Application.DoEvents();
         while(webBrowser1.IsBusy)
           Application.DoEvents();
           webBrowser1.Navigate("javascript:setTimeout(location.hash='#footerWrapper',2000)");     
         //Thread.Sleep(3000);
       finished=true;
     }       
}`
于 2012-12-14T20:38:42.730 に答える