桌面程序模拟网页登陆

来源:澳大利亚 发布时间:2020-08-21 点击:

  C# webBrowser模拟登陆填充操作等(写网页注册机之类的时候要用到)

 2011年03月27日 星期日 12:15

 判断是否网络正常

 private bool IsConnectedToInternet()

 {

  int Desc;

  return internet.InternetGetConnectedState(out Desc, 0);

 }

 设置默认页面:

 webBrowser1.Navigate(new Uri("/copy.jsp"));

 登录代码:

 private void btnlogin_Click(object sender, EventArgs e)

 {

  webBrowser1.Document.GetElementById("id").InnerText =txtuser.Text.ToString().Trim();//fill name

  webBrowser1.Document.GetElementById("passwd").InnerText =txtpwd.Text.ToString().Trim();//fill pwd

  HtmlElement formLogin = webBrowser1.Document.Forms["frmLogin"];

  formLogin.InvokeMember("submit");

  Thread.Sleep(5000);

  herfclick("/upload.jsp");//这是登录成功的操作,跳转到//upload.asp

  //注意不是直接跳过去的,模拟点击链接

  //SESSION不会丢失

  herfclick("/copy.jsp");

 }

 模拟点击链接:

 private void herfclick(string url)

 {

  for (int i = 0; i < webBrowser1.Document.All.Count; i++)

  {

  if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() ==url)

  {

  webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件

  break;

  }

  }

 }

 运行网页中的JS函数

 private void callJsMethod(string jsfun,string jsParameter)//函数名字,函数参数

 {

  HtmlDocument doc = webBrowser1.Document;

  doc.InvokeScript(jsfun,new object[]...{jsParameter});

 }

 填充数据:

 private void filldate(string txt)

 {

  HtmlElement frmWord = webBrowser1.Document.Forms["frmWord"];//找到from

  HtmlElementCollection txtarea = frmWord.GetElementsByTagName("TEXTAREA");

  HtmlElementCollection radio = frmWord.GetElementsByTagName("INPUT");

  radio[2].InvokeMember("click");//选择radio控件

  txtarea[0].InnerText = txt.ToString();

 }

 原理很简单,在webBrowser1的DocumentCompleted事件中判断一下当前完成的url地址,如果当前完成url和当初要打开的url相等,就确定当前网页已经加载完成

 //string strURL 要找开的页面的URL

  private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

  {

  if (e.Url.ToString().Trim() == strURL.Trim())

  {

  //已经加载完成

  }

 }

 控制流动条

 webBrowser1.Document.Window.ScrollTo(100, 100);//滚动到你要的坐标,以像素为单位

推荐访问:wechat网页版登陆 桌面 模拟 登陆
上一篇:2020年最新纪委书记党风廉政建设党课讲稿讲话
下一篇:五福茶馆室内设计——毕业论文

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有