使用VB脚本下载文件

时间:2014-04-29 12:04:59

标签: vbscript

我正在尝试打开一个网站。在该站点中有一个下载链接,当点击时,会打开一个名为“文件下载”的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

此代码无效,因为某些随机窗口正在被选中。请帮助

1 个答案:

答案 0 :(得分:0)

忘记SendKeys - 它非常不可靠,因为其他窗口可以随时窃取焦点。相反,请使用Microsoft.XMLHTTPADODB.Stream个对象下载文件,如this answer所示。