点击图像
<p>[TOC]</p>
<h2>1.命令说明</h2>
<p>在指定范围内搜索图像并单击它</p>
<h2>2.命令原型</h2>
<pre><code>Image.Click(imagePath, target, anchorsElement=None, rect=None, accuracy=0.9, button=&#039;left&#039;, clickType=&#039;click&#039;, searchDelay=10000, continueOnError=False, delayAfter=100, delayBefore=100, setForeground=True, cursorPosition=&#039;center&#039;, cursorOffsetX=0, cursorOffsetY=0, keyModifiers=None, simulateType=&#039;simulate&#039;, moveSmoothly=False, matchType=&#039;GrayMatch&#039;, backgroundPic=False, iSerialNo=1)</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;">imagePath</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">无</td>
<td>要查找的图片路径</td>
</tr>
<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;">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;">rect</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">dict</td>
<td style="text-align: left;">None</td>
<td>需要查找的范围,程序会在控件这个范围内进行图片识别,如果范围传递为 None,则进行控件矩形区域范围内的图片识别,如果范围传递为 {"x":10,"y":5,"width":200,"height":100},则进行控件矩形区域范围内以左上角向右偏移10像素、向下偏移5像素为起点,向右侧200,向下100的范围内的图片识别。默认None</td>
</tr>
<tr>
<td style="text-align: left;">accuracy</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">float</td>
<td style="text-align: left;">0.9</td>
<td>查找图片时使用的相似度,相似度范围从 0.5 - 1.0,表示 50% - 100% 相似。默认0.9</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;">“left”</td>
<td>鼠标左键:“left” 鼠标右键:“right” 鼠标中键:“middle”</td>
</tr>
<tr>
<td style="text-align: left;">clickType</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">“click”</td>
<td>点击类型。单击:“click” 双击:“dbclick” 按下:“down” 弹起:“up”</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;">continueOnError</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">False</td>
<td>指定即使活动引发错误,自动化是否仍应继续。该字段仅支持布尔值(True,False)。默认值为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;">cursorPosition</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">“center”</td>
<td>描述添加cursorOffsetX和cursorOffsetY属性的偏移量的光标起点。中心:“center” 左上角:“topLeft” 右上角:“topRight” 左下角:“bottomLeft” 右下角:“bottomRight”。默认“center”</td>
</tr>
<tr>
<td style="text-align: left;">cursorOffsetX</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">0</td>
<td>根据在“cursorPosition”字段中选择的选项,光标位置的水平位移。默认0</td>
</tr>
<tr>
<td style="text-align: left;">cursorOffsetY</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">0</td>
<td>根据在“cursorPosition”字段中选择的选项,光标位置的垂直位移。默认0</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;">moveSmoothly</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">False</td>
<td>是否平滑移动鼠标</td>
</tr>
<tr>
<td style="text-align: left;">matchType</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">“GrayMatch”</td>
<td>指定查找图像的匹配方式,“GrayMatch”:“灰度匹配”速度快,但在极端情况下可能会匹配失败,“ColorMatch”:“彩色匹配”相对“灰度匹配”更精准但匹配速度稍慢。默认“GrayMatch”</td>
</tr>
<tr>
<td style="text-align: left;">backgroundPic</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">False</td>
<td>是否后台识图片(图片需与查找范围在同一窗口)。True为后台识别图片,False为前台识别图片。默认False。注意:当simulateType为“message”时,该字段设置为True才会生效</td>
</tr>
<tr>
<td style="text-align: left;">iSerialNo</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">1</td>
<td>指定图像匹配到多个目标时的序号,序号为从1开始的正整数,在屏幕上从左到右从上到下依次递增,匹配到最靠近屏幕左上角的目标序号为1,如果是0,匹配所有图片(即点击所有匹配到的图片)。默认为1</td>
</tr>
</tbody>
</table>
<h2>4.返回结果</h2>
<p>无</p>
<h2>5.运行实例</h2>
<pre><code>&quot;&quot;&quot;
****************点击图像****************
入参:
imagePath:[必选参数]要查找的图片路径
target:[必选参数]tdRPA拾取器获取的目标元素特征字符串或uia目标元素对象
anchorsElement:[可选参数]从哪个元素开始找,不传则从桌面顶级元素开始找(有值可提高查找速度)。默认None
rect:[可选参数]需要查找的范围,程序会在控件这个范围内进行图片识别,如果范围传递为 None,则进行控件矩形区域范围内的图片识别,如果范围传递为 {&#039;x&#039;:10,&#039;y&#039;:5,&#039;width&#039;:200,&#039;height&#039;:100},则进行控件矩形区域范围内以左上角向右偏移10像素、向下偏移5像素为起点,向右侧200,向下100的范围内的图片识别。默认None
accuracy:[可选参数]查找图片时使用的相似度,相似度范围从 0.5 - 1.0,表示 50% - 100% 相似。默认0.9
button:[可选参数]鼠标点击。鼠标左键:&#039;left&#039; 鼠标右键:&quot;right&quot; 鼠标中键:&quot;middle&quot;。默认&#039;left&#039;
clickType:[可选参数]点击类型。单击:&#039;click&#039; 双击:&#039;dbclick&#039; 按下:&#039;down&#039; 弹起:&#039;up&#039;。默认&#039;click&#039;
searchDelay:[可选参数]超时时间(毫秒)。默认10000
continueOnError:[可选参数]错误继续执行。默认False
delayAfter:[可选参数]执行后延时(毫秒)。默认100
delayBefore:[可选参数]执行前延时(毫秒)。默认100
setForeground:[可选参数]激活窗口。默认True
cursorPosition:[可选参数]光标位置。中心:&#039;center&#039; 左上角:&#039;topLeft&#039; 右上角:&#039;topRight&#039; 左下角:&#039;bottomLeft&#039; 右下角:&#039;bottomRight&#039;。默认&#039;center&#039;
cursorOffsetX:[可选参数]横坐标偏移。默认0
cursorOffsetY:[可选参数]纵坐标偏移。默认0
keyModifiers:[可选参数]辅助按键[&#039;Alt&#039;,&#039;Ctrl&#039;,&#039;Shift&#039;,&#039;Win&#039;]可多选。默认None
simulateType:[可选参数]操作类型。模拟操作:&quot;simulate&quot; 消息操作:&#039;message&#039;。默认&#039;simulate&#039;
moveSmoothly:[可选参数]是否平滑移动鼠标。默认False
matchType:[可选参数]指定查找图像的匹配方式,&#039;GrayMatch&#039;:“灰度匹配”速度快,但在极端情况下可能会匹配失败,&#039;ColorMatch&#039;:“彩色匹配”相对“灰度匹配”更精准但匹配速度稍慢。默认&#039;GrayMatch&#039;
backgroundPic:[可选参数]是否后台识图片(图片需与查找范围在同一窗口)。True为后台识别图片,False为前台识别图片。默认False。注意:当simulateType为message时,该字段设置为True才会生效
iSerialNo:[可选参数]指定图像匹配到多个目标时的序号,序号为从1开始的正整数,在屏幕上从左到右从上到下依次递增,匹配到最靠近屏幕左上角的目标序号为1,如果是0,匹配所有图片(即点击所有匹配到的图片)。默认为1
出参:
None
注意事项:
1、必须选定目标
2、需要颜色识别时,把matchType字段设置成&#039;ColorMatch&#039;
3、backgroundPic设置时,需要simulateType字段为“message”时,backgroundPic字段设置为True才会生效,并且图片需与查找范围在同一窗口
4、iSerialNo为0时,会从左上到右下的顺序依次点击所有匹配到的图片,需谨慎操作
****************************************
&quot;&quot;&quot;
target = &quot;[ { &#039;wnd&#039; : [ (&#039;Text&#039; , &#039;Program Manager&#039;) , (&#039;aaRole&#039; , &#039;10&#039;) , (&#039;App&#039; , &#039;explorer.exe&#039;) ] } , { &#039;ctrl&#039; : [ (&#039;aaRole&#039; , &#039;10&#039;) ] } , { &#039;ctrl&#039; : [ (&#039;AutomationId&#039; , &#039;1&#039;) , (&#039;Text&#039; , &#039;桌面&#039;) ] }]&quot;
Image.Click(&#039;d:\\此电脑.jpg&#039;, target, anchorsElement=None, rect=None, accuracy=0.9, button=&#039;left&#039;, clickType=&#039;click&#039;, searchDelay=10000, continueOnError=False, delayAfter=100, delayBefore=100, setForeground=True, cursorPosition=&#039;center&#039;, cursorOffsetX=0, cursorOffsetY=0, keyModifiers=None, simulateType=&#039;simulate&#039;, moveSmoothly=False, matchType=&#039;GrayMatch&#039;, backgroundPic=False, iSerialNo=1)</code></pre>