C#模拟点击网页,等待网页加载完成再执行代码的问题
大概情况是这样的
winform里面有个webbrowser控件,指向一个网页,比如论坛网页
当我抓取完第一页数据的时候我要抓取第二页,我用的是模拟点击的方法加载下一页
HtmlDocument doca = this.webBrowser1.Document;
for (int i = 0; i < doca.All.Count; i++) //循环查找这个对象的每一个元素
{
if (doca.All[i].TagName == "A") //如果这个元素是A
{
HtmlElement myelement = doca.All[i]; //就把这个元素实例化成一个HtmlElement对象
if (myelement.OuterText == "下一页") //如果这个元素的文字是“下一页"
{
this.webBrowser1.Document.All[i].InvokeMember("click");
}
}
}
现在问题是我不知道怎么等webbrower加载完成下一页再执行抓取操作,总是webbrower还没加载完就往下执行了,
我用while (this.webBrowser1.ReadyState != WebBrowserReadyState.Complete)
Application.DoEvents();
让webbrower第一次加载首页的时候没问题,但是用上面方法再加载下一页就不行了,哪位大侠能教教我
------解决方案--------------------
ajax没不需要wb啊,wb并没有方便点,反而处理麻烦,用http不是更好吗。