您的位置:首页 > 编程语言 > C#

C#自动填写用户名、密码,自动提交登录网页(你懂的!)

2015-05-07 20:35 1521 查看

在学校上网是通多Dr.com网页的形式登录,

由于账号流量限制,一个账号很快就用完了,幸运的是我们手上有一个EXCEl表,里面的账号足够多。但是每次用的时候都要打开表查找一个可用的账号,不仅耗时,而且还容易出错,于是就想能不能自己写个程序能够自动读取这些账号并且自动提交?

具体步骤

一、开发工具

这里我们采用VS2010,通过C#编写了一个Form程序,在Form程序中打开需要用到webBrowser这个控件。

首先,我们新建一个Form程序,然后从工具箱中拖拽一个webBrowser控件到窗体上,如下图所示:




界面已经做好,接下来就要实现具体的功能了。

二、功能实现

要实现自动登录网页,首先我们需要找到页面上输入账号和密码的input标签,以及提交buttun。

这里我们可以打开登录界面,右键“查看源代码”或者通过“开发人员工具”查看页面的元素。(查找页面元素可以通过id或者name来查找)`



登录代码如下:

“DDDDD”是登录窗口中账号文本框的name

“upass”是密码文本框的name

“0MKKey”是登录Buttun的name

HtmlDocument doc = webBrowser1.Document;

HtmlElement btn = null;

foreach (HtmlElement em in doc.All) //轮循

{

string str = em.Name;

if ((str == “DDDDD”) || str == “upass” || str == “0MKKey”) //减少处理

{

switch (str)

{

case “DDDDD”:

em.SetAttribute(“value”, student[i].Sno);//账号,保存在序列化的student类中

break; //填表

case “upass”:

em.SetAttribute(“value”, student[i].Id);//密码,保存在序列化的student类中

break; //填表

case “0MKKey”:

btn = em;

break;

default: break;

}

try

{

btn.InvokeMember(“click”); //触发submit事件

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

登录用户名和密码通过经过处理之后保存在txt文件中,格式为:密码,账号。

读取账号密码的txt文件的代码如下:

FileStream fs = new FileStream(“D:\write.txt”, FileMode.OpenOrCreate, FileAccess.ReadWrite);

StreamReader m_streamReader = new StreamReader(fs);

//用StreamReader类来读取文件

m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);

//从数据流中读取每一行,直到文件的最后一行

string strLine = m_streamReader.ReadLine();

while (strLine != null)

{

// 这里处理每一行

strLine = m_streamReader.ReadLine();

student.Add(fillStu(strLine));

}

m_streamReader.Close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐