如何使 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")
大家好,我是 运行 一个带有 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")