所以我有一个带有2个输入字段的游戏客户端:id pass和1个按钮:login。
我的登录凭据为:$id=1234
和$pass=a_bCd
。
我正在使用AutoIT脚本来自动化登录过程(我的脚本自动输入id并传入登录字段),我的AutoLogin()
函数如下所示:
send($id + "{tab}")
Sleep(10)
send($pass + "{enter}")
有时它工作正常,但有时我的脚本会在ID字段中引入1234a-
或1234a_
,并在pass字段中引入其余字符。我尝试了许多解决方案,例如controlsend("Game","","","1234{tab}a_bCd{enter}")
或更改sleep()
值等,但输入有时仍会出错。想到发送延迟或睡眠会有问题,仍然不知道该怎么办。
手动插入id和pass正常工作。什么能很好地解决这个问题?谢谢
答案 0 :(得分:0)
2解决方案:
使用&:
添加字符串send($id & "{tab}")
send($pass & "{enter}")
如果这不起作用,只需将其分开:
send($id)
send("{tab}")
send($pass)
send("{enter}")
你不需要那个睡眠
答案 1 :(得分:0)
send
我遇到了同样的麻烦。 autoitscript.com上的This post可以帮助您WinAPI_Keybd_Event()
(documentation here):
#include <WinAPISys.au3>
_WinAPI_Keybd_Event(0x11, 0) # Push CTRL down
_WinAPI_Keybd_Event(0x11, 2) # Lift CTRL up again
这有助于解决我的问题。
注意:有时,当您的脚本因错误而中断时,可能会发生键盘上的某个键仍被按下(即按下但从未抬起)。我使用Windows中集成的屏幕键盘来实现这些时刻......