我对 VBScript 很陌生,我正在尝试通过 CRA 网站自动执行一些工资计算http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.html http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/pdoc-eng.html在Excel中。几天来我一直在试图解决这个问题,但没有成功。我认为我的问题很简单:我尝试单击上述网站页面底部的“我接受按钮”。
我编写的代码如下,但对于下面的行,我不知道如何实际单击按钮。无论我尝试什么,我总是会在这里遇到错误。
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>
我将不胜感激有人的帮助。
Thanks,
Matthew
请注意,VB/VBADoEvents
该函数在 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)