编写网页自动登录器、网页自动注册器、广告模拟点击器的一点思路

来源:互联网 发布:淘宝懒人装修 编辑:程序博客网 时间:2024/05/01 12:22

在编写网页自动登录器、网页自动注册器、广告模拟点击器的时候,主要思路是运用webBrowser,用来模拟表单的填写及鼠标点击事件等,以下是你可能会用到的函数:

[csharp] view plaincopy
  1. //判断是否网络正常  
  2.    
  3. private  bool IsConnectedToInternet()  
  4. {  
  5.     int Desc;  
  6.     return internet.InternetGetConnectedState(out  Desc, 0);  
  7. }    
  8. //设置默认页面:  
  9. webBrowser1.Navigate(new Uri("http://www.86ap.cn/copy.jsp"));  
  10. //登录代码:  
  11. private void btnlogin_Click(object sender, EventArgs e)  
  12. {  
  13.     webBrowser1.Document.GetElementById("id").InnerText =txtuser.Text.ToString().Trim();//fill name  
  14.    
  15.       webBrowser1.Document.GetElementById("passwd").InnerText =txtpwd.Text.ToString().Trim();//fill pwd  
  16.       HTMLElement  formLogin = webBrowser1.Document.Forms["frmLogin"];  
  17.         formLogin.InvokeMember("submit");  
  18.         Thread.Sleep(5000);  
  19.         herfclick("http://www.86ap.cn/upload.jsp");//这是登录成功的操作,跳转到//upload.jsp  
  20.       //注意不是直接跳过去的,模拟点击链接  
  21.       //SESSION不会丢失  
  22.       herfclick("http://www.86ap.cn/copy.jsp");  
  23. }  
  24.    
  25. //模拟点击链接:  
  26. private void herfclick(string url)  
  27. {  
  28.       for (int i = 0; i < webBrowser1.Document.All.Count; i++)  
  29.       {  
  30.           if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() ==url)  
  31.           {  
  32.                 webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件  
  33.                 break;  
  34.         }  
  35.     }  
  36. }  
  37. //运行网页中的JS函数  
  38. private void callJsMethod(string jsfun,string jsParameter)//函数名字,函数参数  
  39. {  
  40.         HtmlDocument doc = webBrowser1.Document;  
  41.         doc.InvokeScript(jsfun,new object[]...{jsParameter});  
  42. }  
  43. //填充数据:  
  44. private void filldate(string txt)  
  45. {  
  46.       HtmlElement  frmword = webBrowser1.Document.Forms["frmWord"];//找到from  
  47.       HtmlElementCollection txtarea = frmWord.GetElementsByTagName("TEXTAREA");  
  48.       HtmlElementCollection radio = frmWord.GetElementsByTagName("INPUT");  
  49.       radio[2].InvokeMember("click");//选择radio控件  
  50.       txtarea[0].InnerText = txt.ToString();  
  51. }  
  52. //原理很简单,在webBrowser1的DocumentCompleted事件中判断一下当前完成的url地址,如果当前完成url和当初要打开的url相等,就确定当前网页已经加载完成  
  53.    
  54. //string strURL 要找开的页面的URL  
  55.         private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)  
  56.         {  
  57.             if (e.Url.ToString().Trim() == strURL.Trim())  
  58.             {  
  59.                 //已经加载完成  
  60.             }         
  61. }  
  62. //控制流动条  
  63. webBrowser1.Document.Window.ScrollTo(100, 100);//滚动到你要的坐标,以像素为单位  

原创粉丝点击