打印本文 打印本文 关闭窗口 关闭窗口
C# ,webBrowser,登录,数据填充,模拟点击链接,运行JS函数 .
作者:佚名  文章来源:本站原创  点击数1588  更新时间:2012/7/29 10:08:35  文章录入:mintao  责任编辑:mintao
C# ,webBrowser,登录,数据填充,模拟点击链接,运行JS函数 . 

公司BOSS

要求我开发一个能自动登录,上传数据的软件,对我这个C/S盲来说,无疑是挖了个大坑,要我往下跳吗.

黑暗啊...

为了生存,就算是毁我容,我也是愿意的,,

CSDN-àGOOGLEàBAIDUàYAHOO

!!!

二天了都没什么到一个好结果,好不容易找到一段自动登录的代码,

看看...

开工了,再不开工,估计这个月的薪水就要8折了

一个星期后,竟然成了

开心,分享一下,虽然不是什么惊天大作,也算给有和我这样急需朋友一用吧

 

网站www.ic2ic.com(这个网站是一个电子元件发布平台,免费的)

实现功能 第一次人工登录,自定义上传时间,周期上传数据(刷新自己的产品,让产品排的更高位)

 

以下是代码片段:
//判断是否网络正常 
private  bool IsConnectedToInternet()
        {
            int Desc;
            return internet.InternetGetConnectedState(out  Desc, 0);
        }  
//设置默认页面:
webBrowser1.Navigate(new Uri("http://www.ic2ic.com/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("http://www.ic2ic.com/upload.jsp");//这是登录成功的操作,跳转到//upload.asp
                                                         //注意不是直接跳过去的,模拟点击链接
                                                         //SESSION不会丢失
            herfclick("http://www.ic2ic.com/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();
        }

打印本文 打印本文 关闭窗口 关闭窗口