2012-12-13 39 views
0

我使用WebBrowser控件来解析网站。结果很好,但对于那些需要ScrollDown通过Ajax加载整个页面的网站我遇到了问题。我尝试着火“DocumentCompleted”事件,但似乎这一步文档已经加载控制,只是顶部(我的意思是没有滚动)。 我也尝试发送键和强制向下滚动或执行各种WebBrowser状态的JavaScript,但没有成功。使用webbrowser控件加载ajax网页内容

我需要帮助,

感谢,

回答

1

我发现这个疑问。我必须知道答案是
下面的代码:

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; 
    }  
}`