【C#】通过webbrowser控件自动注册QQ号讲解

       前言:通过webbrowser控件来自动填写网页内容快速申请QQ号,其实对于没有使用类似JS脚本语言的简单网页元素来说比较简单,但是TX并不是吃素的,因此对于其网页自动填写内容需要注意些细节。下面介绍一下本人简单又实用的方法:

      1、先来分析一下腾讯注册页面的源代码内容

      从上图可以看出QQ注册页面包含的成分有简单的div标签、span标签、label标签,复杂点的包括ul、li标签,还有其他的输入框的元素等等,但是这只是网页的表像,其实TX在网页中加入很多JS成分(不信将网页另存为看看)。

      因此不能简单的将输入框中的value赋值就行的,而要变通一下,我的想法很简单就是模拟鼠标点击一下。

    2、winform设计


对于年月日的设定,你较复杂。我会在后面举例说明。

3、完整代码(注意引用mshtml)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using mshtml;

namespace AutoLogin
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            webBrowser1.Navigate(textBox1.Text.Trim());
        }
        private void button2_Click(object sender, EventArgs e)
        {
            //昵称
            webBrowser1.Document.GetElementById("nick").SetAttribute("value",textBox2.Text.Trim());
            //聚焦模拟点击
            webBrowser1.Document.GetElementById("nick").Focus();
            //移除焦点
            webBrowser1.Document.GetElementById("nick").RemoveFocus();
            //密码
            webBrowser1.Document.GetElementById("password").SetAttribute("value",textBox3.Text.Trim());
            //重复密码
            webBrowser1.Document.GetElementById("password_again").SetAttribute("value",textBox3.Text.Trim());
            //模拟农历公历选择并点击
            webBrowser1.Document.GetElementById("birthday_1").InvokeMember("click");
            //模拟年份选择并点击
            webBrowser1.Document.GetElementById("year_23").InvokeMember("click");
            //模拟月份选择并点击
            webBrowser1.Document.GetElementById("month_11").InvokeMember("click");
            //模拟日期选择并点击
            webBrowser1.Document.GetElementById("day_22").InvokeMember("click");
            //点击验证码框
            webBrowser1.Document.GetElementById("code_img").InvokeMember("click");
        }         
    }
}

       本代码中都是采用的获取网页中控件ID来确定控件元素的,特别是年月日的操作需要注意!本代码中采用我的生日作为事例,具体规则如下:

      

    <span style="font-size:18px;">  birthday_0表示公历    birthday_1表示农历</span>

   <span style="font-size:18px;">   year_0表示2015年      year_1表示2014年   ...  year_23表示1992年     以此类推</span>


     month_0表示1月         month_1表示2月  ...  month_11表示12月        以此类推

     day_0表示第1天      day_1表示第2天  ...    day_22表示第23天         以此类推


  知道规则后大家可以使用文本框输入,很简单,就不在讲解。


4、程序验证

验证码的获取请参考我的博客:点击打开链接


      好了讲解就到这了,这是我认为比较简单实用的方法,如需知道更多内容,请关注博客动态。如有更好的方法也可与我交流。欢迎指教。

     PS:(TX现在采用手机验证,自动注册并没有太大意义,本人只是说说方法)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值