请教关于VB提交带控件的WEB表单
Public Sub ReferForm(ByVal Webbrowser As Webbrowser, ByVal FormType%, Optional ByVal FormName$, Optional ByVal Value$ = "")
'http://www.jcwcn.com/html/CSSHTML/10_43_45_931.htm
'Text = 0; password = 1; textarea = 2; Hidden = 3; CheckBox = 4; submit = 8; button = 9
'//
If FormType < 0 Or FormType > 9 Then
Exit Sub
End If
Dim objDoc, objTag
Set objDoc = Webbrowser.Document
For i = 0 To objDoc.All.length - 1
Select Case UCase$(objDoc.All(i).tagName)
Case "INPUT"
Set objTag = objDoc.All(i)
Select Case FormType
Case 0, 1
If objTag.Name = FormName Then
objTag.Value = Value
End If
Case 3
Case 4
If objTag.Id = FormName Then
objTag.Checked = CInt(Value) 'Click
End If
Case 8
If objTag.Type = FormName Then
objTag.Click
End If
Case 9
If objTag.Type = FormName Then
objTag.Click
End If
'.Document.All(FormName).Value = uValue
'.Document.All(FormName).Click
End Select
Case "TEXTAREA"
Set objTag = objDoc.All(i)
Select Case FormType
Case 2
objTag.Value = Value
End Select
End Select
Next
DoEvents
End Sub
网页内容:淘宝登陆页面
<span class="safe-login">
<input type="checkbox" id="J_SafeLoginCheck" tabindex="4"/><label for="J_SafeLoginCheck">安全控件登录</label>
</span>
VB:
Private Sub Command1_Click()
Call ReferForm(WebBrowser1, 4, "J_SafeLoginCheck", 0)
end sub
红色部分可将网页checkbox去除选中,但我用VB提交密码时,还是不能填写进去,手动点击去除"安全控件登录"的checkbox,可以提交密码,应该是没有获得input焦点,有没有办法做到手动后的效果?想发个效果图片的,不能发
[解决办法]
个人判断多半未正确得到你想要的checkbox对象
由于webbrowser控件的自身限制很多,之前我做类似功能时一般会使用SHDocVw.dll和mshtml.dll,功能相较强大不少。