[已解决]求助,获取了窗口,知道了控件别名,怎么自动录入值?
本帖最后由 回家路上 于 2015-11-30 11:11 编辑登录窗口标题
登录
要自动录入的有四个控件
两个下拉
Combobox1
Combobox2
两个输入框
SunAwtCanvas4
RichEdit20W1
正在学习,拿身边的应用联系,遇到这个先在此询问,谢啦。 自动录入值可以用ControlSetText或者ControlSend,下拉框自动选定可以用ControlCommand,参数用"SetCurrentSelection" 你可以把你用的程序发出来,这样可以帮你写出完整的代码。 回复 3# xlj310
唉,好不巧,我刚好测试的是一个公司内网使用的一个小工具。这四个框好奇怪,前两个下拉用ControlCommond的SelectString和SetCurrentSelection都不好使。第三个这是什么鬼?SunAwtCanvas更奇怪---技能手动录入,也能下拉选择以前录入过的十几个用户名,更难录入了。~~~~~
我只是想找个简单的练练手而已~~~结果...
不过我还是硬用Send写到头了,选不上,模拟键盘数着个数选,也是想哭{:face (356):}ShellExecute("C:\Users\DJ\Desktop\下载.jnlp")
WinWaitActive("需要 Java Update")
ControlClick("需要 Java Update", "", "")
WinWaitActive("登录")
ControlClick("登录", "", "")
Send("{UP}")
Send("{TAB}{UP}{UP}")
Send("{TAB}")
Send("^A")
Send("{BS}adm")
ControlSetText("登录", "", "", "w")
Send("{ENTER}") 如果可能被干扰 建议加上BlockInput(1)禁止键鼠操作, 结束程序前再BlockInput(0)解禁 如果可能被干扰 建议加上BlockInput(1)禁止键鼠操作, 结束程序前再BlockInput(0)解禁 算是将au3第一次应用到工作中,刚学很简陋,但纪念一下,O(∩_∩)O哈!#include <Constants.au3>
;接收参数
If $CmdLine<5 Then
MsgBox($MB_SYSTEMMODAL, "提示", "参数缺失。")
Exit
EndIf
;MsgBox(4096, "个数", $CmdLine)
;MsgBox(4096, "参数1", $CmdLine)
;MsgBox(4096, "参数2", $CmdLine)
;MsgBox(4096, "参数3", $CmdLine)
;MsgBox(4096, "参数4", $CmdLine)
;MsgBox(4096, "参数5", $CmdLine)
;声明变量
Global $javawsPath=$CmdLine ;javaws.exe所在路径
Global $serverPath=$CmdLine ;要连接的服务器
Global $comboxSels=StringSplit($CmdLine, ";") ;所有下拉框选项
Global $userName=$CmdLine ;用户名
Global $password=$CmdLine ;密码
;启动指定服务地址的 webstart 客户端
If $javawsPath=="" Then
$javawsPath = "javaws"
EndIf
ShellExecute($javawsPath, "http://" & $serverPath & "/webstart.jnlp")
;通过“javaws http://xxx/webstart.jnlp”的方式打开好像没有这一步
;WinWaitActive("需要 Java Update", "", 5)
;If WinActive("需要 Java Update") Then
; ControlClick("需要 Java Update", "", "")
;EndIf
;对于弹出安全警告,直接选择
Do
WinWaitActive("安全警告", "", 1)
If WinActive("安全警告") Then
Send("!i")
Send("!r")
EndIf
Until WinActive("登录")
;录入登录信息
WinWaitActive("登录")
ControlClick("登录", "", "") ;将焦点定于第一个下拉框
For $i = 1 To $comboxSels ;循环设置 下拉框值
;MsgBox($MB_SYSTEMMODAL, "设置", "第" & $i & "个" & $comboxSels[$i])
Send("{HOME}")
Send("{DOWN " & ($comboxSels[$i]-1) & "}")
Send("{TAB}")
Next
Send("^a")
Send("{BS}" & $userName & "{LSHIFT}") ;设置 用户名 ,最后一个shift确保汉字输入法也能输入
ControlSetText("登录", "", "", $password) ;设置 密码
;确认登录
Send("{ENTER}")
#cs
;Combobox1
;Combobox2
;SunAwtCanvas4
;RichEdit20W1
#ce
页:
[1]