当对话框没有焦点时,无法单击“保存”按钮

时间:2011-04-28 10:01:53

标签: download autoit dialog

我为IE编写了一个文件下载脚本。 如果焦点在下载框上,它可以正常工作。所以显然我试图把重点放在下载窗口上有时它有效,有时却没有。 早些时候我尝试直接使用窗口名称,但它没有工作,所以我尝试使用Windows但结果相同

另一种情况是:点击IE页面中的下载链接,查看对话框,打开chrome或Opera浏览器的实例。并运行它失败的脚本。我不确定为什么会发生这种情况。 再次,如果它在远程destop上运行,我最小化或关闭连接,它会随机失败。

任何人都可以说出了什么问题吗? _任何帮助都没关系_

我在这里附上脚本示例:

AutoItSetOption("WinTitleMatchMode","2") ; 
; wait Until dialog box appears and timemout of 10 seconds.
$wait = WinWait("Download","",30)
$title = WinGetTitle("Download") 
$handle = WinGetHandle($title)
WinActivate($handle)
If $wait =0 Then
Exit
EndIf 
If (StringCompare($CmdLine[2],"Save",0) = 0) Then
$wait = WinWaitActive($handle,"",10)
If $wait =0 Then
Exit
EndIf
ControlClick($handle,"","Button2")
$wait = WinWait("Save","",5)
If $wait =0 Then
Exit
EndIf
$title = WinGetTitle("Save")
$handle = WinGetHandle($title)
if($CmdLine[0] = 2) Then
$wait = WinWaitActive($handle,"",5)
If $wait =0 Then
Exit 
EndIf
ControlClick($handle,"","Button2")
Else
;Set path and save file
$wait = WinWaitActive($handle,"",10)
If $wait =0 Then
Exit
EndIf
ControlSetText($handle,"","Edit1",$CmdLine[3])
ControlClick($handle,"","Button2")
Exit
EndIf
EndIf

1 个答案:

答案 0 :(得分:3)

当您在IE中使用页面时,我建议使用udf IE.au3。此UDF默认为与IE集成。

您拥有的最佳资源是Autoit论坛。那里的人非常聪明,对解决有很多了解。链接到使用下载的人:http://www.autoitscript.com/forum/topic/90502-solved-handling-the-ie-download-file-dialog/