应用程序模拟登录

界面增加两个button(bt_new,bt_send)和webbrowser(wb_1)

以下是实现代码

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;


namespace autologin
{
    public partial class Form1 : Form
    {
        bool b_flag = false;
        public Form1()
        {
            InitializeComponent();
        }


        private void bt_new_Click(object sender, EventArgs e)
        {
            HtmlDocument doc = wb_1.Document;
            HtmlElement New_Sms = null;
            for (int i = 0; i < doc.All.Count; i++)
            {
                if (doc.All[i].TagName.ToUpper().Equals("A")) {
                    if (!string.IsNullOrEmpty(doc.All[i].InnerHtml) && doc.All[i].InnerHtml.Trim() == "新建短信")
                    {
                        New_Sms = doc.All[i];
                        break;
                    }
                }
            }
            New_Sms.InvokeMember("Click");
        }


        private void bt_send_Click(object sender, EventArgs e)
        {
            HtmlDocument doc = wb_1.Document;
            HtmlElement New_Sms = null;
            for (int i = 0; i < doc.All.Count; i++)
            {
                if (doc.All[i].Id == "Iframe1")
                {
                    HtmlDocument docc = doc.All[i].Document.Window.Frames["content2"].Document;
                    //MessageBox.Show(docc.Body.InnerHtml);
                    for (int j = 0; j < docc.All.Count; j++)
                    {
                        if (docc.All[j].TagName.ToLower().Equals("textarea"))
                        {
                            switch (docc.All[j].Id)
                            {
                                case "txtSMSContent":
                                    docc.All[j].Focus();
                                    docc.All[j].InnerText = "测试信息";
                                    break;
                                case "txtSMSTOPerson":
                                    docc.All[j].Focus();
                                    docc.All[j].InnerText = "13000000000";
                                    break;
                            }
                        }
                        else
                        {
                            if (docc.All[j].TagName.ToUpper().Equals("INPUT"))
                            {
                                if (docc.All[j].Id == "BtnSend")
                                {
                                    New_Sms = docc.All[j];
                                }
                            }
                        }
                    }
                    if (New_Sms != null)
                    {
                        New_Sms.InvokeMember("Click");
                        //System.Threading.Thread.Sleep(300);
                    }
                    break;
                }
            }
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            string s_url = "http://www.baidu.com";
            wb_1.Navigate(s_url);
        }


        private void wb_1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            HtmlElement submit = null;
            HtmlDocument doc = wb_1.Document;
            for (int i = 0; i < doc.All.Count; i++)
            {
                if (doc.All[i].TagName.ToUpper().Equals("INPUT"))
                {
                    switch (doc.All[i].Name)
                    {
                        case "UserName":
                            doc.All[i].Focus();
                            doc.All[i].InnerText = "test";
                            break;
                        case "PassWord":
                            doc.All[i].Focus();
                            doc.All[i].InnerText = "test";
                            break;
                    }
                }
                else
                {
                    if (doc.All[i].TagName.ToUpper().Equals("A"))
                    {
                        if (doc.All[i].Id == "login")
                        {
                            submit = doc.All[i];
                        }
                    }
                }
            }
            doc.InvokeScript("login");
            MessageBox.Show(doc.Url.ToString());
        }


        private void wb_1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
        {
            HtmlDocument doc = wb_1.Document;
            if (!b_flag)
            {
                HtmlElement New_Sms = null;
                for (int i = 0; i < doc.All.Count; i++)
                {
                    if (doc.All[i].TagName.ToUpper().Equals("A"))
                    {
                        if (!string.IsNullOrEmpty(doc.All[i].InnerHtml) && doc.All[i].InnerHtml.Trim() == "新建短信")
                        {
                            New_Sms = doc.All[i];
                            break;
                        }
                    }
                }
                New_Sms.InvokeMember("Click");
                b_flag = true;
            }
        }


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值