我正在使用WebBrowser控件来解析一个网站。结果很好但我对那些需要ScrollDown通过Ajax加载整个页面的网站有问题。我试图解雇“DocumentCompleted”事件但似乎是这一步文档已经加载到控件中,只是顶部(我的意思是没有滚动)。 我还尝试发送密钥并强制向下滚动或为各种WebBrowser状态执行javascript但没有成功。
我需要帮助,
谢谢,
答案 0 :(得分: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;
}
}`