Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim vDoc, vTag
Dim i As Integer
vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
vTag = vDoc.All(i)
If vTag.Type = "text" Or vTag.Type = "password" Then
Select Case vTag.Name
Case "stuid"
vTag.Value = TextBox1.Text
Case "pwd"
vTag.Value = TextBox2.Text
End Select
ElseIf vTag.Type = "submit" Then
vTag.Click()
End If
End If
Next i
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
WebBrowser1.Navigate("http://web2.tust.edu.cn:7777/zhxt_bks/zhxt_bks.html")
End Sub
----------------------------------------------------------------------------------------------------------------------------------------------------------
以上是寫的代碼,通過輸入textbox1和textbox2的內容,進行自動填寫。
使用button實作提交。
但是運行時會出現問題,求大神給看看
出現問題的代碼是: For i = 0 To vDoc.All.length - 1
原因是:未找到型別“HtmlElementCollection”的公共成員“length”。
uj5u.com熱心網友回復:
你現在是通過 COM 物件而不是 js 呼叫,所以1)Collection 的成員個數通常應該是 Count 屬性。
2)Collection 取成員的 Item(i),i 通常是從 1 開始的。
uj5u.com熱心網友回復:
vDoc = WebBrowser1.Document 應該為:set vDoc = WebBrowser1.Document
因為vDoc 是一個物件,物件賦值得用set。不過就是這樣你改了也不會達到效果,只是不報錯而已。
我打開那網頁看了下,發現是框架組成的頁面。你得用frames集合去訪問。
嘗試嘗試改成 set vDoc = WebBrowser1.Document.frames(1).document '為什么括號里是1而不是其他,因為有三個框架,你要自動填的賬號密碼在第二個。0、1、2
另外下面的vTag = vDoc.All(i)也要改成:
set vTag = vDoc.All(i)
話說你從哪里復制的代碼的,這樣的低級問題竟然也有
uj5u.com熱心網友回復:
估計是自己摸索的.抄來代碼至少能運行轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/82891.html
標籤:VB基礎類
上一篇:大神,求幫助
下一篇:新兵
