香港新浪網 MySinaBlog
« 上一篇 | 下一篇 »
Emily | 27th Nov 2005, 21:58 PM | Network / Media | (2468 Reads)

代碼登陸網站

以下介紹一段登陸網站的代碼,此代碼嘗試找出 登陸 HTML Form 內的 UserName 及 Password 位置然後自動填入。

'
' Set reference to Microsoft HTML Object Library
' Set Reference to Microsoft Internet Controls
'
 
Option Explicit
 
Dim myIE As InternetExplorer
Dim myIEdoc As HTMLDocument
Dim theForm As HTMLFormElement

 
Sub OpenWebpageAndLogin(URL As String, myPW As String, myID As String)
Dim theItm As HTMLFormElement
Dim i As Integer
Dim flg As Boolean
Set myIE = New InternetExplorer
With myIE
    .Navigate URL
    .Visible = True
    Do While .Busy: DoEvents: Loop
    Do While .ReadyState <> 4: DoEvents: Loop
End With
Set myIEdoc = myIE.Document
Set theForm = findFm(myIEdoc)
With theForm
    For i = 0 To .Length - 1
        Select Case .Item(i).Type
            Case "password"
                .Item(i).Value = myPW
                flg = True
            Case "text"
                .Item(i).Value = myID
            Case Else
        End Select
    Next
End With
If flg Then
    theForm.submit
Else
    myIE.Quit
    MsgBox ("Unexpected Error, I'm quitting.")
End If
Set myIE = Nothing
End Sub

 
Function findFm(theDoc As HTMLDocument) As HTMLFormElement
    Dim i As Integer, j As Integer
    Dim theItm As HTMLFormElement
    With theDoc.forms
        For i = 0 To .Length - 1
            Set theItm = .Item(i)
            With theItm
                For j = 0 To .Length - 1
                    If .Item(j).Type = "password" Then
                        Set findFm = theItm
                        Exit Function
                    End If
                Next
            End With
        Next
    End With
End Function

 
Sub Test()
  OpenWebpageAndLogin "http://mysinablog.com/admin.php", "Password", "UserName"
End Sub

[2] Re: nice
nice :
請問這二行是什麼意思
' Set reference to Microsoft HTML Object Library' Set Reference to Microsoft Internet Controls
我直接copy你的程式 無法執行說沒定義想問外部程式要怎引用??

Excel VBA 內 (Alt F11)
Tools - References -

Microsoft HTML Object Library
Microsoft Internet Controls


[引用] | 作者 Emily | 8th Jul 2009 22:13 PM | [舉報垃圾留言]

[1] 要載入什麼library

請問這二行是什麼意思

' Set reference to Microsoft HTML Object Library
' Set Reference to Microsoft Internet Controls

我直接copy你的程式 無法執行
說沒定義
想問外部程式要怎引用??


[引用] | 作者 nice | 8th Jul 2009 08:25 AM | [舉報垃圾留言]