很多朋友在用vb6编写网页处理程序的时候,除了用webbrowser控件外,往往还要添加html object的引用,而html object的子对象层次较深,属性方法繁杂,不是很容易使用,最后搞得头都晕。
其实,如果在处理网页的时候,只要分析的对象内部数据 不是有序的(table的数据就是有序的,可以对table的row和cell进行迭代),完全可以不引用html object,而直接用typename来搞定。下面是一个从
http://www.hao123.com登陆gmail的例子:
这些元素的方法和属性也比较好理解,分析html代码就应该知道,type=text可以有value(输入值),type=submit有click方法(提交),option有selected(选中)属性。
以上的例子比较简单,仅作抛砖引玉之用。只要我们平时多留心、多研究,其实做网页分析程序也不是很麻烦的事嘛 :)
代码在vb6 sp6+XPsp2下测试通过。欢迎大家讨论,批评和指教。
其实,如果在处理网页的时候,只要分析的对象内部数据 不是有序的(table的数据就是有序的,可以对table的row和cell进行迭代),完全可以不引用html object,而直接用typename来搞定。下面是一个从
http://www.hao123.com登陆gmail的例子:
Private
Sub
Form_Load()
wbr.Navigate " http://www.hao123.com "
End Sub
Privat e 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
wbr.Navigate " http://www.hao123.com "
End Sub
Privat e 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
以上的例子比较简单,仅作抛砖引玉之用。只要我们平时多留心、多研究,其实做网页分析程序也不是很麻烦的事嘛 :)
代码在vb6 sp6+XPsp2下测试通过。欢迎大家讨论,批评和指教。