WinForm : 利用webBrowser完成填充数据并 自动登陆某网站。。。。。。。
Posted on 2007-06-29 15:35 且行且思 阅读(2784) 评论(2) 编辑 收藏 举报private void tse_Load(object sender, EventArgs e)
{
//this.webBrowser1.Navigate("http://www.sina.com.cn/");
this.webBrowser1.IsWebBrowserContextMenuEnabled = true;
}
//此按钮登陆新浪邮箱。。。。。。。。。测试通过。
private void button2_Click(object sender, EventArgs e)
{
HTMLDocument doc = webBrowser1.Document.DomDocument as HTMLDocument;
//<input name="u" id="u" type="text" onfocus="shy_clear()"/>登录名
HTMLInputElementClass input = doc.all.item("u", 0) as HTMLInputElementClass;
input.value = "lin833";
//<input name="psw" id="psw" type="password"/>密码
input = doc.all.item("psw", 0) as HTMLInputElementClass;
input.value = "33333333";
//<input type="submit" value="登录" onclick="return log_submit();" align="absmiddle"/>登录
//<form name="login" method="post" action="">
webBrowser1.Document.InvokeScript("log_submit");
HTMLFormElementClass form = doc.all.item("login", 0) as HTMLFormElementClass;
form.submit();
}
//**************************************此例程用于登陆网站首页存在框架集
private void button3_Click(object sender, EventArgs e)
{
HTMLDocument doc = webBrowser1.Document.DomDocument as HTMLDocument;
HtmlWindow window = webBrowser1.Document.Window.Frames[0];
doc = window.Document.DomDocument as HTMLDocument;
HTMLInputElementClass input = doc.all.item("username", 0) as HTMLInputElementClass;
input.value = "000";
input = doc.all.item("passwd", 0) as HTMLInputElementClass;
input.value = "000";
//input = doc.all.item("rmNum", 0) as HTMLInputElementClass;
//input.value = doc.getElementById("intImg").innerHTML.ToString();
//input.value = "2222";
input = doc.all.item("Submit", 0) as HTMLInputElementClass;
input.click();
}
private void button4_Click(object sender, EventArgs e)
{
if (this.webBrowser1.ReadyState.ToString() == "Complete")
{
//获取自动登陆后,进入规则页,再继续做点击转到默认加载页。。。
HTMLDocument child = webBrowser1.Document.DomDocument as HTMLDocument;
HtmlWindow window_2 = webBrowser1.Document.Window.Frames[0];
child = window_2.Document.DomDocument as HTMLDocument;
//HTMLInputElementClass input = child.all.item("gtype", 0) as HTMLInputElementClass;
//input.value = "FT";
HTMLInputElementClass input = child.all.item("submit", 1) as HTMLInputElementClass;
input.value = "我同意";
input.click();
}
}
=====================================================
this.Flag = "sdfa";
////this.Close();
//this.DialogResult = DialogResult.OK;
//this.Close();
this.UserName = this.textBox1.Text.Trim(); //"1877";
this.Password = "bb12345";
this.rmNum = this.textBox3.Text;
string strPostData = String.Format("uid=&langx=gb&username={0}&passwd={1}&rmNum={2}&SS={3}&SR={4}&TS={5}&&Submit=%E7%A1%AE%E8%AE%A4"
, this.UserName
, this.Password
, this.rmNum
, this.SS
, this.SR
, this.TS
);
this.webBrowser1.AllowNavigation= true;
this.webBrowser1.AllowWebBrowserDrop = true;
//string kksdf = "uid=&langx=gb&SS=5812344&SR=3807085320&TS=4984716874&username=dpk1877&passwd=a12345&rmNum=2979&Submit=%E7%A1%AE%E8%AE%A4";
string strHeaders = "Content-Type: application/x-www-form-urlencoded\r\n";
ASCIIEncoding AE = new ASCIIEncoding();
byte[] bytePost = AE.GetBytes(strPostData);
byte[] byteHeaders = AE.GetBytes(strHeaders);
object vPost = bytePost;
object vHeaders = byteHeaders;
string tag =null;
webBrowser1.Navigate("http://080.com/app/member/login.php", tag, bytePost, strHeaders);
//webBrowser1.Navigate("http://080.com/app/member/chk_rule.php");
this.webBrowser1.AllowNavigation = true;
//axWebBrowser1.
//object o = null;
//object o1 = System.Text.Encoding.ASCII.GetBytes(strPostData);
//object o2 = "Content-Type: application/x-www-form-urlencoded\r\n"; //必须要加的
//axWebBrowser1.Navigate("http://080.com/app/member/login.php", ref o, ref o, ref o1, ref o2);
//this.webBrowser1.Navigate("http://080.com/app/member/login.php", ref o, ref o1, ref o2);
////*************************思归...
//object vFlags = null;
//object vTarget = null;
////string strData = "username=MyName&password=MyPassword";
//string strHeaders = "Content-Type: application/x-www-form-urlencoded\r\n";
//ASCIIEncoding AE = new ASCIIEncoding();
//byte[] bytePost = AE.GetBytes(strPostData);
//byte[] byteHeaders = AE.GetBytes(strHeaders);
//object vPost = bytePost;
//object vHeaders = byteHeaders;
//// POST the data
//axWebBrowser1.Navigate("http://080.com/app/member/login.php", ref vFlags, ref vTarget, ref vPost, ref vHeaders);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端