获取错误 - 使用VB脚本自动登录

时间:2015-02-17 15:46:09

标签: vba excel-vba vbscript excel

Dim HTMLDoc As HTMLDocument
Dim MyBrowser As InternetExplorer
 Sub MyTTDLogin()

 Dim MyHTML_Element As IHTMLElement
 Dim MyURL As String
 Dim Element As Object ' HTMLButtonElement
 Dim btnInput As Object ' MSHTML.HTMLInputElement
 Dim ElementCol As Object ' MSHTML.IHTMLElementCollection
 Dim Link As Object ' MSHTML.HTMLAnchorElement
 On Error GoTo Err_Clear
 MyURL = "https://www.ttdsevaonline.com"
 Set MyBrowser = New InternetExplorer
 Set ElementCol = objIE.document.getElementsByTagName("a")
 MyBrowser.Silent = True
 MyBrowser.navigate MyURL
 MyBrowser.Visible = True
 MyBrowser.Duration = Fast
 MyBrowser.Coockies = Enable
 MyBrowser.Height = 720 '
 MyBrowser.Width = 1230 '
 Do
 Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
 Set HTMLDoc = MyBrowser.document
 HTMLDoc.all.Email.Value = "vvamsyca1@gmail.com" 'Enter your email id here
 HTMLDoc.all.passwd.Value = "Sarmaking@66" 'Enter your password here
 For Each MyHTML_Element In HTMLDoc.getElementsByTagName("input")
 MyBrowser.Duration = Fast
 'loads a web page and returns True or False depending on
 'wait until IE finished loading the page
 'check if page could be loaded
    If document.URL = "https://www.ttdsevaonline.com/eSpecialentrydarshan/SpecialDarshanHome.aspx" Then
  LoadWebPage = True
 'Get all links on web page
 'Grap/click the link we are looking for...
 For Each Link In ElementCol
 If Link.innerHTML = "eSeva" Then
 Link.Click

Err_Clear:
 If Err <> 0 Then
 Err.Clear
 Resume Next

  End If

End Sub

使用上面的代码我试图自动登录到网站,但我得到错误,Upto登录详细信息它是正确的,我检查它。它完美无缺。稍后.i.e'加载一个网页并返回True或False取决于,从那时起我不知道错误在哪里,因为它显示一个错误。 .i.e。编译错误:阻止如果没有结束If。

我不知道我在哪里犯了错误,任何人都可以帮忙解决这个问题。

先谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码缺少'Next'和'End If'语句。 试试这个

Dim HTMLDoc As HTMLDocument
Dim MyBrowser As InternetExplorer
Sub MyTTDLogin()

    Dim MyHTML_Element As IHTMLElement
    Dim MyURL As String
    Dim Element As Object ' HTMLButtonElement
    Dim btnInput As Object ' MSHTML.HTMLInputElement
    Dim ElementCol As Object ' MSHTML.IHTMLElementCollection
    Dim Link As Object ' MSHTML.HTMLAnchorElement
    On Error GoTo Err_Clear
    MyURL = "https://www.ttdsevaonline.com"
    Set MyBrowser = New InternetExplorer
    Set ElementCol = objIE.document.getElementsByTagName("a")
    MyBrowser.Silent = True
    MyBrowser.navigate MyURL
    MyBrowser.Visible = True
    MyBrowser.Duration = Fast
    MyBrowser.Coockies = Enable
    MyBrowser.Height = 720 '
    MyBrowser.Width = 1230 '
    Do
    Loop Until MyBrowser.readyState = READYSTATE_COMPLETE
    Set HTMLDoc = MyBrowser.document
    HTMLDoc.all.Email.Value = "vvamsyca1@gmail.com" 'Enter your email id here
    HTMLDoc.all.passwd.Value = "Sarmaking@66" 'Enter your password here
    For Each MyHTML_Element In HTMLDoc.getElementsByTagName("input")
        MyBrowser.Duration = Fast
'loads a web page and returns True or False depending on
'wait until IE finished loading the page
'check if page could be loaded
        If document.URL = "https://www.ttdsevaonline.com/eSpecialentrydarshan/SpecialDarshanHome.aspx" Then
            LoadWebPage = True
'Get all links on web page
'Grap/click the link we are looking for...
            For Each Link In ElementCol
    If Link.innerHTML = "eSeva" Then
        Link.Click

        Err_Clear:
        If Err <> 0 Then
            Err.Clear
            Resume Next

        End If
    End If
            Next
        End If
    Next
End Sub