VB实现自动登录论坛并回帖

Eddy 发布于2010-7-31 23:49:37 分类: 程序设计 已浏览loading 网友评论0条 我要评论



试试xTiNt的代码着色效果。

xTiNtGlobal UserName [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'用户名[/color]
Global Password [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'登录密码[/color]
Global Login_Page_Start [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'登录页面[/color]
Global Login_Page_Complete [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'登录完成后服务器将自动跳转的页面[/color]
Global Jump_Page [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'拟发回复贴的页面[/color]
Global Pouring_Article_ID [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'拟发回复的帖子的ID号[/color]
Global Pouring_Text [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'拟回复的内容[/color]
Global Pouring_Title [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'拟回复帖所采用的标题[/color]
Global Pouring_Times [color=#0000D0]As[/color] [color=#0000D0]Integer[/color] [color=#008000]'拟回帖次数[/color]
Global Reply_Page [color=#0000D0]As[/color] [color=#0000D0]String[/color] [color=#008000]'回复成功后,服务器会自动跳转的页面[/color]

[color=#0000D0]Sub[/color] Read_Info()
UserName = [color=#808080]"XXXXXX"[/color]
Password = [color=#808080]"XXXXXX"[/color]
Login_Page_Start = [color=#808080]"http://club.business.sohu.com/"[/color]
Login_Page_Complete = [color=#808080]"http://club.business.sohu.com/businessmain.php"[/color]
Pouring_Article_ID = [color=#808080]"XXXXXX"[/color]
Jump_Page = [color=#808080]"http://club.XXXXXXX.sohu.com/read-XXXX-"[/color] & Pouring_Article_ID & [color=#808080]"-0-0.html"[/color]
Pouring_Title = [color=#808080]"回复机器人工作中..."[/color]
Pouring_Text = [color=#808080]"大家好,我是XXXX的回复机器人,请多关照!"[/color] & vbCrLf
Pouring_Times = 1 [color=#008000]'输入数字太大的话,嘿嘿,后果自负哦[/color]
Reply_Page = [color=#808080]"http://club.XXXXXXX.sohu.com/reply_art_submit.php"[/color]
[color=#0000D0]End[/color] [color=#0000D0]Sub[/color]


[color=#0000D0]Sub[/color] Main()
[color=#0000D0]Call[/color] Read_Info
[color=#0000D0]Load[/color] Form_WebBrowser1
[color=#0000D0]End[/color] [color=#0000D0]Sub[/color]


[color=#0000D0]Private[/color] [color=#0000D0]Sub[/color] brwWebBrowser_DownloadComplete()

cboAddress.Text = brwWebBrowser.LocationURL [color=#008000]'浏览器的地址栏显示为当前页面[/color]

[color=#0000D0]Select[/color] [color=#0000D0]Case[/color] cboAddress.Text
[color=#0000D0]Case[/color] Login_Page_Start [color=#008000]' 当进入登录页面时执行以下程序[/color]

[color=#008000]' 建议从财经站点登录,因为通行证的那个登录页面比较复杂[/color]

[color=#008000]'将浏览器内的全部文本赋值为vDoc[/color]
[color=#0000D0]Dim[/color] vDoc
[color=#0000D0]Set[/color] vDoc = brwWebBrowser.Document

[color=#0000D0]Dim[/color] i [color=#0000D0]As[/color] [color=#0000D0]Integer[/color]
[color=#0000D0]Dim[/color] Form_ID [color=#0000D0]As[/color] [color=#0000D0]Integer[/color]
Form_ID = 0 [color=#008000]'登录输入框在第1个表单内[/color]

[color=#0000D0]For[/color] i = 0 [color=#0000D0]To[/color] vDoc.Forms(Form_ID).length - 1 [color=#008000]'搜索第1表单内所有内容[/color]

[color=#008000]'找到名称为cn和pw的输入框,自动填入[/color]
[color=#008000]'输入框的名称可以从Html的源代码上看到,[/color]
[color=#008000]'由程序自行分析页,得到需要输入焦点的Object名称过于复杂,[/color]
[color=#008000]'因此,以下为简便起见,均为提前手动查找Object标志[/color]

[color=#0000D0]With[/color] vDoc.Forms(Form_ID)(i)
[color=#0000D0]If[/color] .[color=#0000D0]Name[/color] = [color=#808080]"cn"[/color] [color=#0000D0]Then[/color] .Value = UserName [color=#008000]' 填入用户名[/color]
[color=#0000D0]If[/color] .[color=#0000D0]Name[/color] = [color=#808080]"pw"[/color] [color=#0000D0]Then[/color] .Value = Password [color=#008000]' 填入密码[/color]
[color=#0000D0]End[/color] [color=#0000D0]With[/color]
[color=#0000D0]Next[/color] i

[color=#008000]' 查找提交表单的按钮,在财经论坛登录页面是一个图片链接[/color]
[color=#008000]' 图片的属性和前面一样也是通过html源代码看出来的[/color]

[color=#0000D0]For[/color] i = 0 [color=#0000D0]To[/color] vDoc.All.length - 1 [color=#008000]'搜索全部文档[/color]
[color=#0000D0]With[/color] vDoc.All(i)
[color=#0000D0]If[/color] [color=#FF0000]UCase$[/color](.tagName) = [color=#808080]"INPUT"[/color] [color=#0000D0]Then[/color] [color=#008000]' 查找Object属性为Input的可输入项[/color]
[color=#008000]'如是,则判断其是否是制定图片链接,并可点击[/color]
[color=#0000D0]If[/color] [color=#FF0000]UCase$[/color](.[color=#0000D0]Type[/color]) = [color=#808080]"IMAGE"[/color] [color=#0000D0]And[/color] .src = [color=#808080]"http://image.club.sohu.com/businessimages/but01.gif"[/color] [color=#0000D0]Then[/color]
.[color=#0000D0]Select[/color] [color=#008000]'模拟选择图片[/color]
.Click [color=#008000]'模拟鼠标单击[/color]
[color=#0000D0]End[/color] [color=#0000D0]If[/color]
[color=#0000D0]End[/color] [color=#0000D0]If[/color]
[color=#0000D0]End[/color] [color=#0000D0]With[/color]
[color=#0000D0]Next[/color] i

[color=#0000D0]Case[/color] Login_Page_Complete [color=#008000]'如登录页完成后[/color]

[color=#008000]'跳转到需回复帖子的页面[/color]
brwWebBrowser.Navigate Jump_Page

[color=#0000D0]Case[/color] Jump_Page [color=#008000]'如是需回复的帖子所在的页面,则开始自动回复处理[/color]

[color=#008000]'以下的注释掉的代码,不看也罢[/color]

[color=#0000D0]Dim[/color] p [color=#0000D0]As[/color] [color=#0000D0]String[/color]
p = Pouring_Text

[color=#008000]'Static Count As Integer[/color]
[color=#008000]'Static Last_Time[/color]

[color=#008000]' Count = Count + 1[/color]
[color=#008000]' If Count > Pouring_Times Then Exit Sub[/color]

[color=#008000]' If Count = 1 Then[/color]
[color=#008000]' Last_Time = Time[/color]
[color=#008000]' p = Pouring_Text & "Content A here..."[/color]
[color=#008000]' Else[/color]
[color=#008000]' p = Pouring_Text & "Content B here..."[/color]
[color=#008000]' Last_Time = Time[/color]
[color=#008000]' End If[/color]

[color=#0000D0]Set[/color] vDoc = brwWebBrowser.Document

[color=#0000D0]For[/color] i = 0 [color=#0000D0]To[/color] vDoc.All.length - 1 [color=#008000]'搜索全部文档[/color]
[color=#0000D0]With[/color] vDoc.All(i)
[color=#0000D0]Select[/color] [color=#0000D0]Case[/color] [color=#FF0000]UCase[/color](.tagName) [color=#008000]'根据Object属性跳转[/color]

[color=#0000D0]Case[/color] [color=#808080]"TEXTAREA"[/color] [color=#008000]'回复帖子用的TEXTAREA[/color]
.Value = p [color=#008000]'输入回复内容[/color]

[color=#0000D0]Case[/color] [color=#808080]"INPUT"[/color] [color=#008000]'查找Input项[/color]
[color=#0000D0]If[/color] [color=#FF0000]UCase[/color](.[color=#0000D0]Name[/color]) = [color=#808080]"TITLE"[/color] [color=#0000D0]Then[/color] .Value = Pouring_Title [color=#008000]'回帖标题[/color]
[color=#008000]'查找回帖用图片按钮[/color]
[color=#0000D0]If[/color] [color=#FF0000]UCase$[/color](.[color=#0000D0]Type[/color]) = [color=#808080]"IMAGE"[/color] [color=#0000D0]And[/color] .src = [color=#808080]"http://image.club.sohu.com/indexpic/b19.gif"[/color] [color=#0000D0]Then[/color]
.[color=#0000D0]Select[/color] [color=#008000]'模拟选择图片[/color]
.Click [color=#008000]'模拟鼠标单击[/color]
[color=#0000D0]End[/color] [color=#0000D0]If[/color]

[color=#0000D0]End[/color] [color=#0000D0]Select[/color]
[color=#0000D0]End[/color] [color=#0000D0]With[/color]
[color=#0000D0]Next[/color] i

[color=#0000D0]Case[/color] Reply_Page [color=#008000]'服务器提示回复完成[/color]
brwWebBrowser.Navigate Jump_Page [color=#008000]'继续跳回原贴,循环[/color]

[color=#008000]' Case "http://stop/" '停止执行标记[/color]
[color=#008000]' Count = Pouring_Times + 1[/color]

[color=#0000D0]Case[/color] [color=#0000D0]Else[/color] [color=#008000]'Nothing to do[/color]

[color=#0000D0]End[/color] [color=#0000D0]Select[/color]

Me.Caption = brwWebBrowser.LocationName
[color=#0000D0]End[/color] [color=#0000D0]Sub[/color]

已经有(0)位网友发表了评论,你也评一评吧!
原创文章如转载,请注明:转载自Eddy Blog
原文地址:http://www.rrgod.com/program/475.html     欢迎订阅Eddy Blog

记住我的信息,下次不用再输入 欢迎给Eddy Blog留言