【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、程序验证

猜你喜欢

转载自www.cnblogs.com/damowang/p/12162185.html