总是不能实时得到图片,网页类有关问题,请问~
总是不能实时得到图片,网页类问题,请教~~
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error Resume Next
If URL = "http://www.01xs.com/user/login.aspx" Then
Dim vDoc, vtag
Dim i As Integer
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1
If UCase$(vDoc.All(i).tagName) = "INPUT" Then
Set vtag = vDoc.All(i)
Select Case vtag.Name
Case "username"
If vtag.Id = "username" Then vtag.Value = "dslklk" '帐号
Case "password"
If vtag.Id = "password" Then vtag.Value = "123456" '密码
Case "UserLogin"
vtag.Click
Exit Sub
End Select
End If
Next i
End If
If URL = "http://www.01xs.com/User/LoginTran.aspx?GotoUrl=http://www.01xs.com" Then
WebBrowser1.Navigate "http://www.01xs.com/Book/5505/Index.aspx"
End If
If Not WebBrowser1.Busy Then
For Each x In WebBrowser1.Document.All
If x.tagName = "IMG" Then
If InStr(x.src, "ValidatorCode.ashx?name=Comment") <> 0 Then
Set CtrlRange = WebBrowser1.Document.body.createControlRange()
CtrlRange.Add (x)
CtrlRange.execCommand ("Copy")
Picture1.Picture = Clipboard.GetData
End If
End If
Next
End If
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.01xs.com/user/login.aspx"
End Sub
Private Sub Command1_Click()
For Each x In WebBrowser1.Document.All
If x.tagName = "IMG" Then
If InStr(x.src, "ValidatorCode.ashx?name=Comment") <> 0 Then
Set CtrlRange = WebBrowser1.Document.body.createControlRange()
CtrlRange.Add (x)
CtrlRange.execCommand ("Copy")
Picture1.Picture = Clipboard.GetData
End If
End If
Next
End Sub
Private Sub Command2_Click()
WebBrowser1.Refresh
End Sub
需要登陆才可以看到炎症码,避免注册,我已经注册好了,写到代码里面了~~ 测试账号:dslklk 密码:123456
单击 command2 就 刷新 webborwser1,但是,picture1 总是不能实时的显示炎症码图片 。。。。都要点击一下 command1 才可以得到新的炎症码。。。。
请问:应该怎么解决呢?
------解决方案--------------------
这样就可以了:
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error Resume Next
If URL = "http://www.01xs.com/user/login.aspx" Then
Dim vDoc, vtag
Dim i As Integer
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1
If UCase$(vDoc.All(i).tagName) = "INPUT" Then
Set vtag = vDoc.All(i)
Select Case vtag.Name
Case "username"
If vtag.Id = "username" Then vtag.Value = "dslklk" '帐号
Case "password"
If vtag.Id = "password" Then vtag.Value = "123456" '密码
Case "UserLogin"
vtag.Click
Exit Sub
End Select
End If
Next i
End If
If URL = "http://www.01xs.com/User/LoginTran.aspx?GotoUrl=http://www.01xs.com" Then
WebBrowser1.Navigate "http://www.01xs.com/Book/5505/Index.aspx"
End If
If Not WebBrowser1.Busy Then
For Each x In WebBrowser1.Document.All
If x.tagName = "IMG" Then
If InStr(x.src, "ValidatorCode.ashx?name=Comment") <> 0 Then
Set CtrlRange = WebBrowser1.Document.body.createControlRange()
CtrlRange.Add (x)
CtrlRange.execCommand ("Copy")
Picture1.Picture = Clipboard.GetData
End If
End If
Next
End If
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.01xs.com/user/login.aspx"
End Sub
Private Sub Command1_Click()
For Each x In WebBrowser1.Document.All
If x.tagName = "IMG" Then
If InStr(x.src, "ValidatorCode.ashx?name=Comment") <> 0 Then
Set CtrlRange = WebBrowser1.Document.body.createControlRange()
CtrlRange.Add (x)
CtrlRange.execCommand ("Copy")
Picture1.Picture = Clipboard.GetData
End If
End If
Next
End Sub
Private Sub Command2_Click()
WebBrowser1.Refresh
End Sub
需要登陆才可以看到炎症码,避免注册,我已经注册好了,写到代码里面了~~ 测试账号:dslklk 密码:123456
单击 command2 就 刷新 webborwser1,但是,picture1 总是不能实时的显示炎症码图片 。。。。都要点击一下 command1 才可以得到新的炎症码。。。。
请问:应该怎么解决呢?
------解决方案--------------------
这样就可以了:
- VB code
Private Sub Command2_Click() WebBrowser1.Refresh WebBrowser1_DownloadComplete End Sub Private Sub WebBrowser1_DownloadComplete() For Each x In WebBrowser1.Document.All If x.tagName = "IMG" Then If InStr(x.src, "ValidatorCode.ashx?name=Comment") <> 0 Then Set CtrlRange = WebBrowser1.Document.body.createControlRange() CtrlRange.Add (x) CtrlRange.execCommand ("Copy") Picture1.Picture = Clipboard.GetData End If End If Next End Sub