如何使AutoIT发送命令可靠?

时间:2015-04-16 16:50:02

标签: firefox upload webdriver autoit

大家好我正在使用AutoIt运行脚本来插入要使用webdriver上传的文件路径。

但是发送命令是如此不可靠,它是50/50它会弄乱角色,脚本就会停止。

有没有办法让它可靠地输入数据?或者,我怎样才能确认输入是否正确,重新发送,然后发送?

这就是我对代码所拥有的。它将输入发送到firefox上传窗口。

WinWaitActive("File Upload")
Send("C:\Users\elsid\Desktop\Eclipse\Workspace\NG - Mentored\Autoit\Test.png")
Send("{ENTER}")

由于

2 个答案:

答案 0 :(得分:1)

在我看来,脚本停止了,因为它等待窗口聚焦。为了不弄乱字符,请在Send()中使用函数标志1。 试试这个:

 While WinWait("File Upload","",1) = 0
  Sleep(500)
 WEnd
 WinActivate("File Upload")
 Send("C:\Users\elsid\Desktop\Eclipse\Workspace\NG - Mentored\Autoit\Test.png", 1)  ;-- flag 1 = keys are sent raw.
 Send("{ENTER}")

祝你好运;)

答案 1 :(得分:1)

最可靠的方法是使用ControlSetText。

使用AutoitWindowInfo工具进行游戏,并根据需要调整下面的脚本。

#RequireAdmin ;Will give your script a permission elevation (sometimes its needed)
Opt("WinTitleMatchMode", 1) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
Opt("WinSearchChildren", 1) ;0=no, 1=search children also

WinActivate("File Upload")
WinWaitActive("File Upload","",10)
ControlFocus("File Upload","","Edit1")
Sleep(2000)
ControlSetText("File Upload","","Edit1","dropdowns.jpg")