在CRA网站上单击IE中带有VBScript的按钮

时间:2013-02-11 17:25:56

标签: internet-explorer button vbscript getelementbyid

我对VBScript很新,我正试图通过excel中的CRA网站http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.html自动完成一些工资核算。我一直试图想出这几天,没有运气。我认为我的问题非常简单:我试图点击上面网站页面底部的“我接受按钮”。

我写的代码如下,但对于以下代码,我不知道如何实际点击按钮。无论我尝试什么,我总是会收到错误。

 objIE.Application.document.getElementById("??????").Click

下面的HTML代码没有ID。我也尝试了各种其他的东西,比如getElementByType,getElementByValue没有运气

的VBScript

Sub test()

Set objIE = CreateObject("InternetExplorer.Application")

objIE.Application.Visible = True
objIE.Application.navigate "http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.html"

Do While objIE.Application.Busy Or _
    objIE.Application.readyState <> 4
    DoEvents
Loop

objIE.Application.document.getElementById("??????").Click

Do While objIE.Application.Busy Or _
    objIE.Application.readyState <> 4
    DoEvents
Loop

End Sub

HTML代码

<div class="alignCenter">
<input type="button" title="I accept - Begin the calculation" value="I accept" onclick="parent.location='https://apps.cra-arc.gc.ca/ebci/rhpd/startLanguage.do?lang=English'" />
<input type="button" title="I do not accept - Return to Payroll" value="I do not accept" onclick="parent.location='/tx/bsnss/tpcs/pyrll/menu-eng.html'" />
</div>

我很感激有人的帮助。

谢谢,

马修

1 个答案:

答案 0 :(得分:2)

请注意,VB / VBA DoEvents功能在VBScript中不可用。但是,这是工作代码。

Call test

Sub test()

    With CreateObject("InternetExplorer.Application")

        .Visible = True
        .Navigate "http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.html"

        Do While .Busy Or .readyState <> 4
            WScript.Sleep 50
        Loop

        Set oInputs = .Document.getElementsByTagName("input")

        For Each elm In oInputs
            If elm.Value = "I accept" Then
                elm.Click
                Exit For
            End If
        Next

        Do While .Busy Or .readyState <> 4
            WScript.Sleep 50
        Loop

        End With

End Sub