我尝试使用Firefox 28.0中的Autoit下载文件。
我尝试下载一个exe文件,弹出闪烁,但自动窗口信息工具无法识别保存按钮。
我该如何自动化呢。
我的脚本看起来像
Local $hWnd=WinActivate("[CLASS:MozillaDialogClass]")
WinWaitActive($hWnd)
;MsgBox(1,$hWnd,$hWnd)
;ControlClick($hWnd,"","Save")
ControlClick($hWnd,"&Save File","")
;WinClose("[CLASS:MozillaDialogClass]")
我该如何自动化......
答案 0 :(得分:0)
目前您的ControlClick
次尝试都不正确。正确的语法是ControlClick(Window title or handle, *window* text, control *id*, ...)
。查看帮助文件和示例,以查看您当前没有做的事情。
firefox下载对话框有点棘手,谷歌搜索为尝试做同样事情并且努力的人们提供了很多结果。
最简单的方法是单击按钮坐标处的窗口。 ControlClick
可以用于此(只需将控件ID留空)。当您尝试选择按钮的位置时,AutoIt窗口信息工具应该提供ControlClick
坐标。
该方法确实假设按钮总是在同一个地方,但情况不一定如此。替代方法是使用ControlSend
发送Alt+S
组合(或该按钮的任何组合)。
最后,值得一提的是the IUIAutomation framework,它已经证明对于使用标准winapi控件的窗口自动化非常可靠。
答案 1 :(得分:0)
最简单的方法是在mozilla上执行以下操作:
在autoit.au3
文件
ControlFocus(" MozillaDialogClass","","")
睡眠(10)
发送(" {ENTER}&#34)
使用以下命令在selenium中执行相同的文件:
Runtime.getRuntime().exec("C:\\Users\\Balaji\\Desktop\\autoit.exe");
答案 2 :(得分:0)
使用以下代码使用AutoIt在Firefox中下载文件。
WinWait("[TITLE:Opening ; CLASS:MozillaDialogClass]","", 10)
If WinExists("[TITLE:Opening ; CLASS:MozillaDialogClass]") Then
; Perform keyboard ALT key + s key to select Save File Radio button using keyboard shortcut.
ControlFocus ( "[TITLE:Opening ; CLASS:MozillaDialogClass]","", "" )
Send("!s")
; Wait for 2 seconds
Sleep(2000)
; Press Keyboard ENTER button.
Send("{ENTER}")
EndIf