KingDZ 变菜鸟,每日一个C#小实例之---C#自动填表

标签: kingdz 菜鸟 实例 | 发表时间:2011-09-19 18:00 | 作者:KingDZ Pei
出处:http://www.cnblogs.com/

这个小实例的作用是用来自动填表,当然是WinForm填写网站上面的表单了,我在这里只是提供一种思想,哈哈,大伙不要用这个来开发非法的软件哦。例如,自动注册,批量评论什么的啊。

但是对于某些看着不爽得网站,哈哈,偶不管你,你自己玩吧。

首先找到百度大哥的登陆界面地址  http://passport.baidu.com/?login&tpl=mn

好了准备工作完成。

1

注意红框框的地方,这个地方可以填写账号和密码,我们恰恰需要操作的就是这里。

右键查看源文件,我们可以得到如下的代码片段

  <td width="50" class="f14">帐 号:</td>
<td width="156"><input type="text" name="username" id="username" value="" title="用户名/验证邮箱" onfocus="checkInput(this)" onblur="restore(this)" onChange="chechUserOld('username')" class="ip"/></td>
    <td width="50" class="f14" valign="top">密 码:</td>
    <td width="156"><input type="password" id="normModPsp" value="" class="ip"/></td>
筛选出对我们有用的信息来

<input type="text" name="username" id="username" value="" />

<input type="password" id="normModPsp" value="" />

哈哈,就是这两个标签了,好了,准备下手了。

为了提高效率,当然网页只下载一次最好了啊。声明一个全局的变量。

HtmlDocument hdoc;

当网页加载完成之后,给这个变量赋值。

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    hdoc = webBrowser1.Document;
}

哈哈,好了,为下面做准备吧,

//帮助方法根据name获得元素
public HtmlElement GetElement_Name(string name)
{
    HtmlElement e = hdoc.All[name];
    return e;
}
//根据Id获取元素
public HtmlElement GetElement_Id(string id)
{
    HtmlElement e = hdoc.GetElementById(id);
    return e;
}

两个方法,为下面得到标签做准备。大家看看是不是和JS好像啊

 

private void btnInput_Click(object sender, EventArgs e)
{
    HtmlElement name = GetElement_Id("username");
    HtmlElement pwd = GetElement_Id("normModPsp");

    name.SetAttribute("value","Kingdz");
    pwd.SetAttribute("value","Kingdz");

}

单击按钮事件,哈哈,填上数据了。

 

12

下面实现自动登陆就好了。

<input type="submit" value=" 登录 "/>,哈哈,这个比较郁闷了,没有Name和ID,哇塞,我找了Form以后,还是没有

<form action="https://passport.baidu.com/?login" method="POST" onSubmit="return checkForm(this);">

这可怎么办呢?没事,曲线救国吗?哈哈。

//根据Type获取元素
public HtmlElement GetElement_Type(string type)
{
    HtmlElement e=null;
    HtmlElementCollection elements = hdoc.GetElementsByTagName("input");
    foreach (HtmlElement element in elements)
    {
        if (element.GetAttribute("type") == type)
        {
            e = element;
        }
    }
    return e;
}

 

private void btnLogin_Click(object sender, EventArgs e)
{
    GetElement_Type("submit").InvokeMember("click");

}

好了,这么就搞定了,提交一把,嘻嘻,没有该用户的。

21

哇塞,要验证码,哎,这个就郁闷了,三言两语说不清楚了,只能以后再给大家慢慢解释。哈哈,自动注册机最重要的就是验证码的分析处理了,难度系数,好几星呢。

当然验证码也是可以解析出来的。这里就不能深入的去研究这个了么哈哈。欢迎大家给给我一起研究这类数据的操作。

关于WebBrowser控件的使用,我想园子里面的这个哥们已经研究的很透彻了,哈哈

http://www.cnblogs.com/peterzb/archive/2009/07/12/1521787.html

当然呢,微软还是权威啊

http://msdn.microsoft.com/zh-cn/library/w290k23d%28VS.80%29.aspx

更多更好的用法,欢迎你去百度,Google,Bing。哈哈,支持不在于一点,在于我们从知识不断的去发现新鲜的东东。哦KingDZ

作者: KingDZ 发表于 2011-09-19 18:00 原文链接

评论: 4 查看评论 发表评论


最新新闻:
· 传谷歌已正式推出谷歌钱包服务(2011-09-19 22:51)
· 微软应用开发者可分成70%收入(2011-09-19 22:49)
· Windows 8将支持跨平台对战 PC与主机玩家终成战友(2011-09-19 22:47)
· Facebook副总:推出订阅服务与对手无关(2011-09-19 22:24)
· NEC拟大力开拓海外云计算业务(2011-09-19 22:05)

编辑推荐:Windows Runtime(WinRT) 揭秘

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [kingdz 菜鸟 实例] 推荐:

KingDZ 变菜鸟,每日一个C#小实例之---C#自动填表

- Pei - 博客园-首页原创精华区
这个小实例的作用是用来自动填表,当然是WinForm填写网站上面的表单了,我在这里只是提供一种思想,哈哈,大伙不要用这个来开发非法的软件哦. 例如,自动注册,批量评论什么的啊. 但是对于某些看着不爽得网站,哈哈,偶不管你,你自己玩吧. 首先找到百度大哥的登陆界面地址  http://passport.baidu.com/?login&tpl=mn.

“菜鸟”管理者如何长大

- Richard - 每日鲜果精选
  从公司的基层员工到管理者,要实现这两种不同身份、理念、工作时间等诸多差异的转变,在很多人看来,这必是惊险的一跃.   耿娟,重庆聚焦人才服务有限公司总经理办公室主任.   她17岁中专毕业,20岁进入该公司任客户专员,23岁担任总经办主任.   初为管理者,她经历了哪些困惑?又是如何化解?.   10月14日下午3点,耿娟再一次核实了在周末举办的招聘会,各个部门的工作情况.

Ubuntu 菜鸟使用手册(1-4)

- - Ubuntusoft
Ubuntu 12.04 菜鸟使用手册是由 友帮拓作者 suruibin写的一份面向Ubuntu 新手的教程文档. 更新源设置(附 更新源列表). 系统托盘问题 ( 解决方法). Gnome 3 相关使用. 安装Vbox /VM /虚拟机相关教程. 下载列表: http://suruibin.diandian.com/.

菜鸟学自动化测试(九)----WebDirver

- - 博客园_首页
关于什么是WebDirver,上一节做了简单的描述,环境也在上一章中搭建完成. 下面我们拷贝了官网提供的一个实例. 让其在我们的eclipse中运行. Selenium WebDirver 代码如下:. // 用Firefox driver创建一个新的的实例. //注意:其他的代码依赖于界面. WebDriver driver = new FirefoxDriver();// 这里我们可以使用firefox来运行测试用例.

[原]Dubbo实例

- -
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案. Remoting: 网络通信框架,实现了sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能. Registry: 服务目录框架用于服务的注册和服务事件发布和订阅.

Onepager获35万美元投资,菜鸟也可做网页

- austin - 36氪
是不是想自己做一个网站,但又苦于缺乏相关的专业知识呢. 有了Onepager,你就不用再为此发愁了. Onepager是一种简单的创建和管理小型网站的方法. 无需任何经验,你只要按照规定步骤去做,很快就能创建一个属于自己的网站. Onepager今天获得了35万美元的种子投资. Onepager的原理非常简单:无需掌握专业的HTML编码知识,你可以随意选择Onepager提供的主题模板,然后在模板中加入你想在网站中出现的文本、图片、视频和链接等,这个过程就像操作Word那样简单,最后点击发布即可.

《谁说菜鸟不会数据分析》笔记一则

- Oswin - 小蚊子乐园
作者:@recobeyang  http://weibo.com/1662436833. 《谁说菜鸟不会数据分析》--基于通用的Excel工具,像小说一样通俗易懂的数据分析教程,现在  卓越   京东   当当   China-pub 上可订购. 谁说菜鸟不会数据分析--业内人士联合推荐.

菜鸟简述Jquery中Ajax发送post请求及XML响应

- - 博客园_首页
在没有出现jquery前,是通过纯手工的方式获取XmlHttpRequest对象来向服务器发送异步请求实现局部刷新. 在jquery出现以后我们利用其封装好的对象来实现ajax请求,下面以post请求为例作一个简单介绍:. jQuery.post(url, [data], [callback], [type]),其中url为请求地址,data为待发送的参数及其值,callback为发送成功时的回调函数,type为返回内容的类型(xml、html、text、json等).

网站设计菜鸟得到的6个惨痛教训

- - 雷锋网
【编者按】本文翻译自 GDB ,译者 @-yingyingzUX-  . 原文作者 Jonathan Wold当时还是一个菜鸟级的网站设计师. 和我们经常看见的案例一样,Jonathan 对自己的工程进度过于急切,没有清晰的规划,没有合理的拒绝,或许我们应该从他身上吸取这些教训,避免在工作上重复让自己摔同一次跤.

40个迹象表明你还是PHP菜鸟

- - CSDN博客移动开发推荐文章
51CTO之前曾报道过《 从菜鸟到大师,细看程序员的五种层次》,在软件开发界,优秀开发者与一般程序员的差别还是比较大的. 如果你还有以下这些迹象,那你仍是PHP菜鸟:. 不会利用如phpDoc这样的工具来恰当地注释你的代码;. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见;.