程序的作用是自动完成网站的表单填写和提交
现在遇到了一个可恶的页面,没有Value属性,如何给表单的控件附值?
望各位赐教
摘取一部分HTML源码上来供大家分析。
HTML代码如下:
联系地址:
客户的详细地址
<input name=GetAdr id="GetAdr" size=30 maxlength=50 class=button1>
*
邮政编码:
<input name=Post id="[s:9]ost" size=30 maxlength=6 style="ime-mode:disabled" class=button1>
电话:
<input name=LifeTel id="LifeTel" size=30 maxlength=13 style="ime-mode:disabled" class=button1>
移动电话:
<input name=MTel id="MTel" size=30 maxlength=13 style="ime-mode:disabled" class=button1>
*
电子邮件地址:
<INPUT name=Email id="Email" size=30 maxLength=50 class=button1>
如上所见,并没有出现Value= 这样的属性,不能通过给Value附值提交来实现了。
请问有什么简便的方法吗?听说好象是强行替换上Value属性,然后强行递交给webBrowser执行,据说能提交上去,我没试过,不知道行不行,自己也没办法实现(初学VB)。
我现在采用的自动提交代码如下:
程序自动遍历ID,然后根据条件自动定位,写入数据。
Dim vDoc, vTag
Dim i As Integer
Set vDoc = XXXXXXXXXXXXXXcument
XXXXXXXXear
For i = 0 To XXXXXXXl.Length - 1
If UCase(XXXXXXXl(i).TagName) = "INPUT" Then
Set vTag = XXXXXXXl(i)
If vTag.Type = "text" Or vTag.Type = "password" Then
XXXXXXXXdItem XXXXXXXme
Select Case XXXXXXXme
Case "myid"
XXXXXXXlue = XXXXXXXXst(key_2)
XXXXXXXXstIndex = key_2
key_2 = key_2 + 1
If XXXXXXXXst(key_2) = "" Then Beep
Case "pwd"
XXXXXXXlue = "654321"
Case "verifycode"
XXXXXXXlue = Text2.text
End Select
ElseIf vTag.Type = "submit" Then
XXXXXXXick
End If
End If
Next i
上面这个自动提交方法碰到我前面提到的HTML代码,就不灵了。。。
就连TYPE类都找不到一个。。。
我是这么写的:
Dim vDoc, vTag
Dim i As Integer
Set vDoc = XXXXXXXXXXXXXXcument
XXXXXXXXear
For i = 0 To XXXXXXXl.Length - 1
If UCase(XXXXXXXl(i).TagName) = "INPUT" Then
Set vTag = XXXXXXXl(i)
If vTag.Type = "text" Or vTag.Type = "radio" Or vTag.Type = "radio" Or vTag.Type = "select" Or vTag.Type = "textarea" Then
XXXXXXXXdItem XXXXXXXme
Select Case XXXXXXXme
Case "name"
XXXXXXXlue = Sname(i).text '此处用的是控件数组,textbox控件,下同
Case "sex"
XXXXXXXlue = Ssex(i).text
Case "psid"
XXXXXXXlue = Val(Sid(i).text + 1)
Case "birdy"
XXXXXXXlue = Val(Mid$(Sid(i).text, 6, 4))
Case "area"
XXXXXXXlue = SdqB(i).text
Case "getadr"
XXXXXXXlue = SdqC(i).text
Case "mtel"
XXXXXXXlue = Smtel(i).text
Case "birdm"
XXXXXXXlue = Val(Mid$(Sid(i).text, 10, 2)) / 1
Case "birdd"
XXXXXXXlue = Val(Mid$(Sid(i).text, 12, 2)) / 1
Case "state"
XXXXXXXlue = "浙江省"
Case "txtnote"
XXXXXXXlue = "TEST"
End Select
ElseIf vTag.Type = "submit" Then
XXXXXXXick
End If
End If
Next i
200字以内,仅用于支线交流,主线讨论请采用回复功能。