跳到主要内容

在目标中按键

命令说明

在指定的界面元素中输入按键

命令原型

Keyboard.PressKey(objUiElement,sKey,iDelayBetweenKeys,iTimeOut,optionArgs)

命令参数

参数必选类型默认值说明
objUiElementTruedecorator@ui""对应需要操作的界面元素,当属性传递为 字符串 类型时,作为特征串查找界面元素,当属性传递为 UiElement 类型时,直接对 UiElement 对应的界面元素进行点击操作
sKeyTrueenum"Enter"对应要一次模拟输入的内容
iDelayBetweenKeysTruenumber20两次输入之间的间隔,(仅在“操作类型”属性中选项为”模拟操作“时生效)低于20毫秒时会自动转为20毫秒,间隔的值过小有可能导致输入时丢字,与机器的性能有关
iTimeOutTruenumber10000指定在SelectorNotFoundException引发异常之前等待活动运行的时间量(以毫秒为单位)。默认值为10000毫秒(10秒)
bContinueOnErrorFalsebooleanFalse指定即使活动引发错误,自动化是否仍应继续。该字段仅支持布尔值(True,False)。默认值为False
iDelayAfterFalsenumber300执行活动后的延迟时间(以毫秒为单位)。默认时间为300毫秒
iDelayBeforeFalsenumber500活动开始执行任何操作之前的延迟时间(以毫秒为单位)。默认的时间量是500毫秒,过短可能导致漏输入情况
bSetForegroundFalsebooleanTrue进行操作之前,是否先将目标窗口激活
sKeyModifiersFalseset[]触发鼠标动作时同时按下的键盘按键,可以使用以下选项:Alt,Ctrl,Shift,Win
sSimulateFalseenum"simulate"可选择操作类型为:后台操作(uia)、模拟操作(simulate)、系统消息(message),默认选择:系统消息(message)
bClickBeforeInputFalsebooleanFalse找到目标后先点击目标再输入内容

运行实例

/******************************在目标中按键*******************************
命令原型:
Keyboard.PressKey(objUiElement,sKey,iDelayBetweenKeys,iTimeOut,optionArgs)
入参:
objUiElement--目标元素
sKey--模拟按键
iDelayBetweenKeys--键入间隔(ms)
iTimeOut--超时时间.默认单位:毫秒.Type:Int
optionArgs--可选参数(包括:错误继续执行/执行后延时/执行前延时/激活窗口/辅助按键/操作类型/输入前点击).Type:Dict
出参:

注意事项:
模拟操作:指通过调用系统api mouseevent等实现鼠标操作,会实际移动光标。
系统消息:指发送鼠标消息到目标元素,不移动光标。
后台操作:可以理解为调用了一次元素的鼠标响应回调函数。
*********************************************************************/
// 在指定目标中输入"UiBot"
Keyboard.InputText(@ui"输入控件<input>","UiBot",true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false})
// 模拟发送"enter"按键
Keyboard.PressKey(@ui"输入控件<input>1","Enter",20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sSimulate": "simulate", "sKeyModifiers": [], "bClickBeforeInput": false})

可视化样例