当前位置:编程学习 > VB >>

如何使用VB自动操作网页,并提取结果。求助!

本人经常交寄大量邮件要在邮政EMS网上做查询,并要获取查询结果,过程十分烦琐。现想做一个自动登录该网站、并自动操作该网页查询的程序。 要求自动登陆网站,自动填入条件,筛选出来后,进入链接,下载表单 --------------------编程问答-------------------- 这简单啊 --------------------编程问答-------------------- vb用WebBrowser控件

输入框:<input name='UserName' type='text' id='UserName'>




Private Sub Command1_Click()  
Dim vDoc, vTag  
Dim i As Integer  
Set vDoc = WebBrowser1.Document  
For i = 0 To vDoc.All.length - 1  
If UCase(vDoc.All(i).tagName) = "INPUT" Then  
Set vTag = vDoc.All(i)  
'If vTag.Type = "text" Or vTag.Type = "password" Then  
'List1.AddItem vTag.Name  
'Select Case vTag.Name  
'Case "Name"  
'vTag.Value = "IMGod"  
'Case "NickName"  
'vTag.Value = "IMGod"  
'Case "Password"  
'vTag.Value = "IMGodpass"  
'Case "EMail"  
'vTag.Value = "IMGod@paradise.com"  
'End Select  
'Else  
If vTag.Name = "ans1_30" And vTag.Value = "on" Then  
'vTag.Click     '此方法如果下次点就变成取消了。  
'如何才能使此checkbox变成选中  
End If  
End If  
Next i  
End Sub  

Private Sub Form_Load()  
WebBrowser1.Navigate "http://www.cnvote.cn/temp/test.html"  
End Sub  




--------------------编程问答-------------------- VB制作网页自动填表(强烈推荐)

VB制作简单模拟器教程入门版

第一讲 如何用VB编程打开一个网页:

  由于是为做模拟器做铺垫,所以就不介绍别的方法,只介绍一种最简单的用webbrowser控件实现(实际是其他的方法我还没有学会)。  

  下面我们就开始步入模拟器的大门了:  

   一、先打开VB新建一个工程  

  二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件  

  三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们以后的实现就都围绕着他来进行了。  

  四、添加一个WebBrowser1到Form1中,再添加一个command1到Form1中  

  五、在Form1中添加如下代码:  

'----------开始-----------  

Private Sub Command1_Click()  

WebBrowser1.Navigate "25emuhome.xilubbs.com"  

End Sub  

Private Sub Form_Load()  

WebBrowser1.Navigate "<A href='http://net2sky.yeah.net"/' target=_blank>http://net2sky.yeah.net";  

End Sub  

'----------结束-----------  

  六、当然就是测试了,点运行按钮,我们可以看到,我们的webbrowser打开了网络人家的主页,然后再点按钮,我们可爱的webbrowser就把我们带到了模拟之家BBS了。

  好了,先写这么多,下次我们看一下怎么用webbrowser提交一个含有用户名和密码的网页。 

  
VB制作简单模拟器教程入门版(二)  

第二讲 如何用VB的webbrowser提交一个含有用户名和密码的网页

  上次我们知道了怎样打开一个网页,今天我们就来看看怎样迈开赚钱的第一步。

  下面我们就开始迈步了:

  一、先打开VB新建一个工程

  二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件

  三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们以后的实现就都围绕着他来进行了。

  四、添加一个WebBrowser1到Form1中,再添加一个command1到Form1中

  五、在Form1中添加如下代码:(以上都是我们上一讲里说过的,应该很熟悉了吧)

'----------开始-----------

Private Sub Command1_Click()

Dim vDoc, vTag

Dim i As Integer

Set vDoc = WebBrowser1.Document

For i = 0 To vDoc.All.length - 1 '检测所有标签

If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签

Set vTag = vDoc.All(i)

If vTag.Type = "text" Or vTag.Type = "password" Then '看看是不是我们需要的

Select Case vTag.Name '按标签的名字,对号操做

Case "EMAILADD"

vTag.Value = "myemail@home.com" '这里写入你的e-mail

Case "PASSWD"

vTag.Value = "password" '这里写入你的密码

End Select

ElseIf vTag.Type = "submit" And vTag.Name = "SUB" And vTag.Value = "订阅" Then

'找到提交按钮

vTag.Select '也可以没有这个

vTag.Click '点击提交了,一切都OK了

End If

End If

Next i

End Sub

Private Sub Form_Load()

WebBrowser1.Navigate "http://dhunter.51.net"

End Sub

'----------结束-----------

  六、当然就是测试了,点运行按钮,我们可以看到,我们的webbrowser打开了http://dhunter.51.net,等网页基本下载结束再点command1按钮,我们可爱的webbrowser就把我们刚刚输入的e-mail和密码都提交到网页上了,看到订阅成功了吗?那个就是胜利的标志。

好了,先写这么多,下次我们看一下怎么用webbrowser找到一个网页中的超连接,对应的就是赚钱连接啊。



附录(相关资料):

大家也可以看出来,这次我们是拿http://dhunter.51.net上的那个订阅邮件列表开刀,下面就是这段网页的源代码:

<form method="post" action="http://ml.xilu.com/cgi-bin/ml/client">

<p align="center"><font size="2">

<input type="hidden" name="USERID" value="dhunter">

E-mail:

<input type="text" name="EMAILADD" value="你的E-mail">

<br>

密 码 :

<input type="password" name="PASSWD" value="******">

<br>

</font><font size="2">

<input type="submit" value="订阅" name="SUB">

<input type="submit" value="退订" name="UNSUB">

</font></p>

</form>  

里面带input的那些标签都是接受输入的,我们这讲的主要任务就是找到他们,并且对他们进行操做。 

VB制作简单模拟器教程入门版(三)  

第三讲 如何用VB的webbrowser找到一个网页中的超连接

  以前我们已经说过了怎样打开一个网页,怎样提交一个网页,今天我们来看看如何找到一个网页中URL等元素。

  一、先打开VB新建一个工程

  二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件

  三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们的实现就都围绕着他来进行了。

  四、添加一个WebBrowser1到Form1中,再添加一个command1到Form1中,添加一个list1到form1中(这个list1适当的放宽一点,一会我们把找到的合格URL都放到这个里)

  五、在Form1中添加如下代码:(以上都是我们以前说过的,应该很熟悉了吧)



'----------开始-----------

Private Sub Command1_Click()

Dim vTag, vDoc

Dim Allcount, i

List1.Clear

Set vDoc = WebBrowser1.Document.All

Allcount = vDoc.length

For i = 0 To Allcount - 1

If UCase(vDoc.Item(i).TagName) = "A" Then '找到URL

vTag = vDoc.Item(i).href

If InStr(vTag, "http://dhunter.51.net") Then '检测URL中是否含有http://dhunter.51.net

List1.AddItem vDoc.Item(i).href '如果有,则添加到list1中

End If

End If

Next i

End Sub

Private Sub Form_Load()

WebBrowser1.Navigate "http://dhunter.51.net"

End Sub



'----------结束-----------



  六、当然就是测试了,点运行按钮,我们可以看到,我们的webbrowser打开了http://dhunter.51.net,等网页基本下载结束再点command1按钮,我们可爱的webbrowser就把找到的含有http://dhunter.51.net的URL都加入到list1中了。

有了这些我们就可以开始做自己的模拟器了,当然更多的技巧,更多的方法还要靠你来实现。 --------------------编程问答-------------------- 学习~学习~!!! --------------------编程问答-------------------- 用WebBrowser太占内存了,推荐用SOCKET

--------------------------------------------------------------------------------
专注于自动提交,如发贴机资源采集器等网络营销软件的开发及相关领域如验证码识别技术。  
QQ群号:24733057 --------------------编程问答-------------------- coffee54676()兄说得真是太详细了,可我的问题还没解决啊。
http://community.csdn.net/Expert/TopicView.asp?id=5538843 --------------------编程问答-------------------- 如果提交按钮是图片怎么办? --------------------编程问答-------------------- mark --------------------编程问答--------------------
引用 7 楼 sunskysoft 的回复:
如果提交按钮是图片怎么办?
问得好,不过这个很好解决。检测其类型为img即可。 --------------------编程问答-------------------- 验证码如何提交? --------------------编程问答-------------------- 我有个朋友可以订作,QQ945633981 --------------------编程问答-------------------- <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="236" height="169">  
    <param name="movie" value="http://i39.photobucket.com/albums/e161/haihaiyoyo/iloveu.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <embed src="http://i39.photobucket.com/albums/e161/haihaiyoyo/iloveu.swf"  width="236" height="169" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>
  </object>
如何在运行时获取或改变<param name="movie" value=……的值呀?(vb) --------------------编程问答--------------------
引用 12 楼 hdoor 的回复:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="236" height="169">
<param name="mo……
用正则吧 --------------------编程问答-------------------- 想自动偷菜? --------------------编程问答-------------------- <div class="logonRight_title">用户登录</div>

<div class="Step1 unit">
<label>请输入手机号码:</label><input name="msisdn" id="msisdn" key="msisdnsuggest" type="text" class="logon_inputText" value="" maxlength="11" eventtype="1" />
                    <span id="msisdnMessage" class=""></span>
</div>

<!--<div style="clear:both;padding-left: 168px; overflow:hidden; line-height:14px; ">
<input id="cooketime" name="cooketime"   type="radio" value="720"/> 永久
<input id="cooketime" name="cooketime"   type="radio" value="30"/> 一个月
<input id="cooketime" name="cooketime"   type="radio" value="7"/> 一周
<input id="cooketime" name="cooketime"   type="radio" checked value="0"/> 不保存
                                                     </div> -->
                                            
<div class="Step2" style="clear:both; height:36px;_height:26px; _padding-top:10px;">
<span class="h3">请选择登录模式</span>
<input name="logonType" type="radio" value="sms" checked="checked" style="margin-left:7px;"/> 随机短信 

<input name="logonType" type="radio" value="mm"/> 固定密码 (<a href="password.html?backurl=http://mm.10086.cn/moneditor/cs/logon/logon.html" target="_top">固定密码设置</a>)


<!--<input name="logonType" disabled type="radio" value="tongbao"/><img src="/moneditor/cs/image/logon/logo_tongbao.gif" width="64" height="25" class="logo_tongbao" style="FILTER: gray;"/>
<a href="/moneditor/cs/services/tongbao.html" target="_blank" class="tongbao_text">什么是手机通宝</a>-->
</div>

<div id="sms" style="display:">
<div class="Step3_2">请获取短信密码:
<input type="image" name="getsms_button" src="http://www.mmarket.com/moneditor/cs/image/logon/button_duanxin.gif"/>
<!--<input type="image" name="getsms_hand" src="http://www.mmarket.com/moneditor/cs/image/logon/hand.gif"/> -->
<font class="h6" id="topic_show_image" style="display:none;"><span id="time_count">60</span>秒后如果没有收到,请点击按钮重新获取</font>
</div>

  
               <div class="Step3_text unit"><label>请输入短信密码:</label><input id="smspwd" type="text"  class="logon_inputText" onfocus="if(value=='请输入短信密码') {value=''}" eventtype="2" maxlength="6"/><div class="setCookies" style="float:left;" title="为了帐户安全,请勿在公用电脑上勾选此项目"><span style="float:left;" id="smspwdcooketime"></span><span style="float:left; _line-height:32px;"> 记住我</span></div></div>
                   <span class="" id="smspwdMessage" style=" display:block; margin-left:170px; width:350px; margin-top:-15px;"></span>
                   
   
                    <div key="serverMsg" style=" width:490px; margin:0 auto; line-height:30px;"></div>
               <div class="logon_button" style="display:block; padding-top:10px;"><input type="image" name="go" src="/moneditor/cs/image/logon/button_logon.gif"/> <input type="image" name="back" src="/moneditor/cs/image/logon/button_back.gif"/> </div>

               <div class="logon_text">· 您也可以通过固定密码登录模式登录,尚未设置固定密码的用户,请先
<a  href="password.html" target="_top" class="h5">设置固定密码</a></div>

  
                </div>
   

<div id="mm" style="display:none;">

<div class="Step3 unit" style=""><label style=" margin-top:5px;">请输入固定密码:</label><div style="float:left; padding-top:5px;"><input id="mmpwd" type="password" eventtype="3" class="logon_inputText" maxlength="20" /><div class="setCookies" title="为了帐户安全,请勿在公用电脑上勾选此项目" style="float:left;"><span id="mmpwdcooketime" style="float:left;"></span><span style="float:left;_line-height:32px;"> 记住我</span></div></div></div>
                   
                    <div style="clear:both;"><a tabindex="-1" href="password.html" style="padding-left:110px;" class="h5">忘记密码?</a> <span class="" id="mmpwdMessage" style="padding-bottom:10px; background-position:0 7px;"></span></div>

<div key="serverMsg" style="width:490px; margin:0 auto; line-height:22px; padding:5px 0;"></div>
                    

<div class="logon_button" style="display:block; padding-top:10px;"><input type="image" name="go" src="/moneditor/cs/image/logon/button_logon.gif"/> <input type="image" name="back" src="/moneditor/cs/image/logon/button_back.gif"/>  </div>

<div class="logon_text">· 您也可以通过固定密码登录模式登录,尚未设置固定密码的用户,请先
<a href="password.html" target="_top" class="h5">设置固定密码</a></div>

</div>

我是个新手

里边有多个[登陆]
<div class="logon_button" style="display:block; padding-top:10px;"><input type="image" name="go" src="/moneditor/cs/image/logon/button_logon.gif"/> <input type="image" name="back" src="/moneditor/cs/image/logon/button_back.gif"/>  </div>
这个问题如何解决
网站是http://mm.10086.cn/moneditor/cs/logon/logon.html?backurl=http://mm.10086.cn --------------------编程问答-------------------- 建议用VB的控件WEBBROWSER还进行分析开发,
这个控件很实用的,
对访问网络很方便实用。 --------------------编程问答-------------------- 最好是抓包,然后POST。
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,