• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 申请书
  • 演讲稿
  • 讲话稿
  • 领导发言
  • 读后感
  • 观后感
  • 事迹材料
  • 党建材料
  • 策划方案
  • 对照材料
  • 不忘初心
  • 主题教育
  • 脱贫攻坚
  • 调查报告
  • 疫情防控
  • 自查报告
  • 工作汇报
  • 党史学习
  • 当前位置: 达达文档网 > 文档下载 > 策划方案 > 正文

    桌面程序模拟网页登陆

    时间:2020-08-21 08:52:18 来源:达达文档网 本文已影响 达达文档网手机站

      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网页版登陆 桌面 模拟 登陆

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网