界面增加两个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;
}
}
}
}