HtmlDocument web = webBrowser1.Document;
HtmlElement btnSubmit = web.All["btnloginfree"]; //获取登录对应元素
HtmlElement tbUserid = web.All["username"]; //获取用户名对应元素
//HtmlElement tbStyle = webBrowser1.Document.All["style"]; //获取版本对应元素
HtmlElement tbPasswd = web.All["password"]; //获取密码对应元素
if (tbUserid == null || tbPasswd == null)
return;
tbUserid.SetAttribute("value", this.txtUserName.Text); //给用户名赋值
tbPasswd.SetAttribute("value", this.txtPassWord.Text); //给密码赋值
btnSubmit.InvokeMember("click"); //模拟点击登录按
//Thread.Sleep(5000); //延迟无效
for (int i = 0; i < webBrowser1.Document.Links.Count; i++)
{
string str = webBrowser1.Document.Links[i].InnerHtml;
if (str == "邮箱设置")
{
webBrowser1.Document.Links[i].InvokeMember("click");
}
}
延迟句该换成什么呀????这样子好像会跳过,谁有好的办法可以解决呀
HtmlElement btnSubmit = web.All["btnloginfree"]; //获取登录对应元素
HtmlElement tbUserid = web.All["username"]; //获取用户名对应元素
//HtmlElement tbStyle = webBrowser1.Document.All["style"]; //获取版本对应元素
HtmlElement tbPasswd = web.All["password"]; //获取密码对应元素
if (tbUserid == null || tbPasswd == null)
return;
tbUserid.SetAttribute("value", this.txtUserName.Text); //给用户名赋值
tbPasswd.SetAttribute("value", this.txtPassWord.Text); //给密码赋值
btnSubmit.InvokeMember("click"); //模拟点击登录按
//Thread.Sleep(5000); //延迟无效
for (int i = 0; i < webBrowser1.Document.Links.Count; i++)
{
string str = webBrowser1.Document.Links[i].InnerHtml;
if (str == "邮箱设置")
{
webBrowser1.Document.Links[i].InvokeMember("click");
}
}
延迟句该换成什么呀????这样子好像会跳过,谁有好的办法可以解决呀
解决方案 »
- 双缓冲问题+数据库并发访问问题
- C#的winform表格输出
- 在dataGridView中把记录修改完成后,如何将dataGridView中的纪录显示在一个新建的没有数据的datatable中呢?为什么下面的方法不行呢:
- 请教有关多线程下载的问题。
- 怎么打开媒体播放器????
- 我在VS05里假如Flash提示未注册。。。
- 有谁知道dotfucsator的注册码?
- 高分:在asp.net中如何使用ssl,https?(在线等待)
- .net 升级为.net 2003!!!原来报表不能用啦~~~~~~这是为什么呢?
- 怎样取得当前焦点所在控件的TAB值??
- 在线等读取网页出问题!GZip 头中的幻数不正确。请确保正在传入 GZip 流
- 一个关于编码的问题???
WebBrowser控件也处于当前线程内,Sleep会同时暂停WebBrowser控件的运作。
既然WB是你自己控制的,能够获取 complete/ready 的事件,在事件里去处理sleep后面的逻辑。
问题是下面不只“邮箱设置”一个操作下面还有好几个,而且就算我就执行一个操作,DocumentCompleted事件会不停的被触发,一直在刷