在目标中按键
<p>[TOC]</p>
<h2>1.命令说明</h2>
<p>在指定的界面元素中按键盘按键</p>
<h2>2.命令原型</h2>
<pre><code>WinKeyboard.PressKey(target, &quot;Enter&quot;, searchDelay=10000, continueOnError=False, delayAfter=100, delayBefore=100, setForeground=True, keyModifiers=None, simulateType='message', clickBeforeInput=False)</code></pre>
<h2>3.命令参数</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">默认值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">target</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string/uia.Control</td>
<td style="text-align: left;">无</td>
<td>tdRPA拾取器获取的目标元素特征字符串或uia目标元素对象</td>
</tr>
<tr>
<td style="text-align: left;">button</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">无</td>
<td>键盘按键名称,例如:“Enter”、“Shift”、“F10”等</td>
</tr>
<tr>
<td style="text-align: left;">searchDelay</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">10000</td>
<td>搜索元素的超时时间(毫秒)。默认值为10000毫秒(10秒)</td>
</tr>
<tr>
<td style="text-align: left;">anchorsElement</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">uia.Control</td>
<td style="text-align: left;">None</td>
<td>锚点元素,从它开始找,不传则从桌面顶级元素开始找(有值可提高查找速度)</td>
</tr>
<tr>
<td style="text-align: left;">continueOnError</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">False</td>
<td>指定即使活动引发错误,自动化是否仍应继续。默认值为False</td>
</tr>
<tr>
<td style="text-align: left;">delayAfter</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">100</td>
<td>执行活动后的延迟时间(以毫秒为单位)。默认时间为100毫秒</td>
</tr>
<tr>
<td style="text-align: left;">delayBefore</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">100</td>
<td>活动开始执行任何操作之前的延迟时间(以毫秒为单位)。默认的时间量是100毫秒</td>
</tr>
<tr>
<td style="text-align: left;">setForeground</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">True</td>
<td>进行操作之前,是否先将目标窗口激活</td>
</tr>
<tr>
<td style="text-align: left;">keyModifiers</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">list</td>
<td style="text-align: left;">None</td>
<td>辅助按键,触发鼠标动作时同时按下的键盘按键,可多选,例如:[“Alt”,“Ctrl”,“Shift”,“Win”]</td>
</tr>
<tr>
<td style="text-align: left;">simulateType</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">“simulate”</td>
<td>操作类型。模拟操作:“simulate” 消息操作:“message”</td>
</tr>
<tr>
<td style="text-align: left;">clickBeforeInput</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">False</td>
<td>找到目标后先鼠标点击目标再按键盘按键</td>
</tr>
</tbody>
</table>
<h2>4.返回结果</h2>
<p>目标元素对象(可作为其他命令的target或anchorsElement字段的参数值)</p>
<h2>5.运行实例</h2>
<pre><code>&quot;&quot;&quot;
****************在目标中按键****************
入参:
target: [必选参数]拾取器获取的目标元素特征字符串或目标元素对象
button: [必选参数]键盘按键上的符号。如&quot;Enter&quot;
searchDelay: [可选参数]超时时间(毫秒)。默认10000
anchorsElement: [可选参数]锚点元素,从它开始找,不传则从桌面顶级元素开始找(有值可提高查找速度)。默认None
continueOnError: [可选参数]错误继续执行。默认False
delayAfter: [可选参数]执行后延时(毫秒)。默认100
delayBefore: [可选参数]执行前延时(毫秒)。默认100
setForeground: [可选参数]激活窗口。默认True
keyModifiers: [可选参数]辅助按键['Alt','Ctrl','Shift','Win']可多选。默认None
simulateType: [可选参数]操作类型。模拟操作:&quot;simulate&quot; 消息操作:&quot;message&quot;。默认&quot;message&quot;
clickBeforeInput: [可选参数]输入前点击。默认False
出参:
目标元素对象
注意事项:
模拟操作:会受到输入法弹框的影响,例如当前是中文输入法时,此操作可能弹出输入法的录入弹框
消息操作:不受输入法影响,故作为默认参数
*******************************************
&quot;&quot;&quot;
target = &quot;[ { 'wnd' : [ ('Text' , '新建文本文档.txt - 记事本') , ('aaRole' , '10') , ('App' , 'notepad.exe') ] } , { 'ctrl' : [ ('AutomationId' , '15') ] }]&quot;
# 在指定目标中输入“Hello,大家好!”
WinKeyboard.InputText(target, 'Hello,大家好!', clearOldText=True, inputInterval=10, searchDelay=10000, anchorsElement=None, continueOnError=False, delayAfter=100, delayBefore=100, setForeground=True, simulateType='message', validate=False, clickBeforeInput=False)
# 在指定目标中按&quot;Enter&quot;按键
WinKeyboard.PressKey(target, &quot;Enter&quot;, searchDelay=10000, continueOnError=False, delayAfter=100, delayBefore=100, setForeground=True, keyModifiers=None, simulateType='message', clickBeforeInput=False)</code></pre>