如何使 AutoIT 发送命令可靠?

how can i make AutoIT send command reliable?

大家好,我是 运行 一个带有 AutoIt 的脚本,用于插入要使用 webdriver 上传的文件的路径。

但是发送命令非常不可靠,它的 50/50 弄乱了字符,脚本就停止了。

有没有办法让它可靠地输入数据?或者如何确认输入正确,重新发送,然后发送?

这就是我的代码。它将输入发送到 firefox 上传 window.

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

谢谢

以我的拙见,脚本停止是因为它等待 window 获得焦点。为了不弄乱字符,请在 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}")

祝你好运;)

最可靠的方法是使用 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")