记录一下:VB6里自动提交/自动填表的一种相对通用的方案

论坛里有人问起,就看了一下,发现代码比较简单.

而且这样子应该能比较通用地完成网页自动填表功能,适合做自动提交之类的.

干脆记下来,免得以后要用到时又忘了...............

代码没几句,就是通过ID或NAME来取得对象,再设置其VALUE值.

论坛里的两个帖子:

http://www.m5home.com/bbs/dispbbs.asp?boardid=27&Id=2721

http://www.m5home.com/bbs/dispbbs.asp?boardid=27&Id=2754

使用的代码都是同样的一份:

Option Explicit

Private Const sURL As String = "http://218.202.107.178:8081/aincs/webpage/index.jsp?SelfSessionKey=000000000000001a49444c3a687474702f52657150726f636573736f723a312e300000000000000100000000000000ac000102000000000c31302e3232302e332e313900ff8400000000004900504d43000000000000001a49444c3a687474702f52657150726f636573736f723a312e300020200000000974635f61696e6373002020200000000d2f746f6d636174345f706f6100000000000000035649530300000005000507017f000000000000000000000800000000564953000000000100000018000000000001000100000001050100010001010900000000_7A1B861487D6AFEDE237964589A17B26"

Private Sub Form_Load()
WebBrowser1.Navigate sURL
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If URL = sURL Then
Dim Ele As Object

Set Ele = WebBrowser1.Document.getElementById("mobileno") '根据ID取得对象
Ele.Value = "www.m5home.com"

Set Ele = WebBrowser1.Document.getElementsByName("password") '根据Name取得对象
Ele(0).Value = "www.m5home.com"

Set Ele = WebBrowser1.Document.getElementsByName("operVerifyCode") '根据Name取得对象
Ele(0).Value = "www.m5home.com"
End If
End Sub


在使用getElementsByName取对象时要注意一点,就是NAME是可以有重复的,所以getElementsByName返回的是一个集合,其中包含了所有相同NAME的对象.

而ID是不可能有重复的,所以getElementById返回的就是一个单一对象.

试过了pudn和CSDN等,都可以用这样的方式自动填表.

评论: 0 | 引用: 0 | 查看次数: 1491