- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
KingDZ变菜鸟,每日一个C小实例之---C自动填表
这个小实例的作用是用来自动填表,当然是WinForm填写网站上面的表单了,我在这里只是提供一种思想,哈哈,大伙不要用这个来开发非法的软件哦。例如,自动注册,批量评论什么的啊。但是对于某些看着不爽得网站,哈哈,偶不管你,你自己玩吧。首先找到百度大哥的登陆界面地址? /?logintpl=mn好了准备工作完成。注意红框框的地方,这个地方可以填写账号和密码,我们恰恰需要操作的就是这里。右键查看源文件,我们可以得到如下的代码片段? td width=50 class=f14帐 号:/td td width=156input 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=156input 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);}单击按钮事件,哈哈,填上数据了。?下面实现自动登陆就好了。input type=submit value= 登录 /,哈哈,这个比较郁闷了,没有Name和ID,哇塞,我找了Form以后,还是没有form action=/?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);}好了,这么就搞定了,提交一把,嘻嘻,没有该用户的。哇塞,要验证码,哎,这个就郁闷了,三言两语说不清楚了,只能以后再给大家慢慢解释。哈哈,自动注册机最重要的就是验证码的分析处理了,难度系数,好几星呢。当然验证码也是可以解析出来
文档评论(0)