我正在尝试打开一个网站。在该站点中有一个下载链接,当点击时,会打开一个名为“文件下载”的pop-pup,其中有3个选项:打开,保存和取消选择当前取消的位置。如果我单击“保存”,则会打开另一个弹出窗口,我必须单击“保存”。我试图使用vb脚本自动执行此操作。代码:
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "www.abc.com"
Do While IE.Busy
WScript.Sleep 100
Loop
Set Links = IE.document.getElementsByTagName("a")
For Each Link In Links
If InStr(1, Link.href, "?task=downloadFile", vbTextCompare) > 0 Then
IE.Navigate Link.href
Do While IE.Busy
WScript.Sleep 100
Loop
Set WshShell = CreateObject("WScript.Shell")
WScript.Sleep 1000
WshShell.Sendkeys "{TAB}"
WScript.Sleep 1000
WshShell.Sendkeys "{TAB}"
WScript.Sleep 1000
WshShell.Sendkeys "{TAB}"
WScript.Sleep 1000
WshShell.Sendkeys "{TAB}"
WScript.Sleep 1000
WshShell.Sendkeys "{ENTER}"
WshShell.Sendkeys "{TAB}"
WScript.Sleep 1000
WshShell.Sendkeys "{ENTER}"
Exit For
End If
Next
此代码无效,因为某些随机窗口正在被选中。请帮助
答案 0 :(得分:0)
忘记SendKeys
- 它非常不可靠,因为其他窗口可以随时窃取焦点。相反,请使用Microsoft.XMLHTTP
和ADODB.Stream
个对象下载文件,如this answer所示。