问题如上,代码如下:在窗体中放了一个webBrowser控件和一个button1,webBrowser的URL指向
http://passport.baidu.com/?login,点击按钮
private void button1_Click(object sender, EventArgs e)
{
System.Windows.Forms.HtmlDocument document =this.webBrowser1.Document;
if ( document == null )
{
return;
}
document.All["username"].SetAttribute("Value", "用户名"); //用户名
document.All["normModPsp"].SetAttribute("Value", "密码"); //密码
document.All[108].InvokeMember("click"); //登录按钮的click方法
//上面显示登录成功的界面,下面进行跳转,就没有用户了。
this.webBrowser1.Navigate("http://tieba.baidu.com/");
}上面显示登录成功的界面,可以看到我已经登录了,下面进行跳转到贴吧的网页,就没有用户了。这是为什么,请高手指教。
http://passport.baidu.com/?login,点击按钮
private void button1_Click(object sender, EventArgs e)
{
System.Windows.Forms.HtmlDocument document =this.webBrowser1.Document;
if ( document == null )
{
return;
}
document.All["username"].SetAttribute("Value", "用户名"); //用户名
document.All["normModPsp"].SetAttribute("Value", "密码"); //密码
document.All[108].InvokeMember("click"); //登录按钮的click方法
//上面显示登录成功的界面,下面进行跳转,就没有用户了。
this.webBrowser1.Navigate("http://tieba.baidu.com/");
}上面显示登录成功的界面,可以看到我已经登录了,下面进行跳转到贴吧的网页,就没有用户了。这是为什么,请高手指教。
有的话在那个Navigate之后再在DocumentComplete的时候Navigate
HtmlElementCollection hc = web.Document.GetElementsByTagName("a");
foreach (HtmlElement he in hc)
{
if (hh1.InnerText == "贴吧")
{
hh1.InvokeMember("click");
}
}
//上面显示登录成功的界面,下面进行跳转,就没有用户了。
this.webBrowser1.Navigate("http://tieba.baidu.com/");明显这里有问题,click后,是需要一段时间的
登录成功的页面还没有加载完成,你就 this.webBrowser1.Navigate("http://tieba.baidu.com/");
跳转页面,所以看不到登录成功的页面了.
{
System.Windows.Forms.HtmlDocument document =this.webBrowser1.Document;
if ( document == null )
{
return;
}
document.All["username"].SetAttribute("Value", "用户名"); //用户名
document.All["normModPsp"].SetAttribute("Value", "密码"); //密码
document.All[108].InvokeMember("click"); //登录按钮的click方法
//上面显示登录成功的界面,下面进行跳转,就没有用户了。
hread.Sleep(1000);//重点(需要引用using System.Threading;)
this.webBrowser1.Navigate("http://tieba.baidu.com/");
}