浅谈 typename在网页处理中的用处

本文介绍了一种使用VB6进行网页处理的简便方法,通过直接利用typename而非复杂的htmlobject引用,实现对网页元素的有效操控。示例展示了如何登录特定网站。
       很多朋友在用vb6编写网页处理程序的时候,除了用webbrowser控件外,往往还要添加html object的引用,而html object的子对象层次较深,属性方法繁杂,不是很容易使用,最后搞得头都晕。
      其实,如果在处理网页的时候,只要分析的对象内部数据不是有序的(table的数据就是有序的,可以对table的row和cell进行迭代),完全可以不引用html object,而直接用typename来搞定。下面是一个从
http://www.hao123.com登陆gmail的例子:

Private Sub Form_Load()
    wbr.Navigate 
"http://www.hao123.com"
End Sub



Private Sub wbr_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  
Dim obj
     
     
If Not (pDisp Is wbr.Object) Then
        
Exit Sub
     
End If
     
      
If wbr.LocationURL = "http://www.hao123.com/" Then
         
            
For Each obj In wbr.Document.All

              
'Text1.Text = Text1.Text & TypeName(obj) & vbCrLf ‘如果你不清楚要操作的元素名字,这句取得可以操作的网页元素的名字,其实只要对照后面的html代码和元素名字,就很容易看出来它们的联系了

                
If TypeName(obj) = "HTMLInputElement" Then
                    
If obj.Name = "uName" Then      ’对应的网页代码   ‘用户名:<input tabIndex=1 size=15 name=uName>’
                       obj.Value 
= "world.broken"
                    
End If
                    
If obj.Name = "uPw" Then‘           ‘密码:<input tabIndex=3 type=password size=12 name=uPw>
                      obj.Value 
= "你的密码"   
                    
End If
                    
If obj.Name = "sub" Then  ’               ‘<input   tabIndex=4 type=submit value=" 登录 " name=sub  ‘                                         
                       obj.Click
                    
End If
                
End If
              
If TypeName(obj) = "HTMLOptionElement" Then
                 
If obj.Value = "gmail" Then   ‘               ’<option selected >请选择邮箱(替换成要登陆的value即可)</option>
                    obj.Selected 
= True
                 
End If
              
End If
        
Next
            
   
End If
        
End Sub
              这些元素的方法和属性也比较好理解,分析html代码就应该知道,type=text可以有value(输入值),type=submit有click方法(提交),option有selected(选中)属性。
              以上的例子比较简单,仅作抛砖引玉之用。只要我们平时多留心、多研究,其实做网页分析程序也不是很麻烦的事嘛  :)
代码在vb6 sp6+XPsp2下测试通过。欢迎大家讨论,批评和指教。
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值