前面的文章《怎么自动登录公司系统、导出数据?| Power Automate实战案例》里,主要讲的是登录网页版的公司系统导出数据,但有很多公司的系统可能是CS架构的,即用户使用的是一个安装在本地的客户端,比如SAP的GUI(读“龟”,个人觉得真好听……),还有金蝶、用友等某些ERP系统客户端,等等。

相对于网页,客户端系统最大的特点是,你可能完全无法捕捉其中的UI元素,比如SAP那只“龟”,一旦尝试捕捉UI元素,就会警告、卡死:

像这种情况,我们主要靠模拟鼠标点击和键盘输入的方式来完成登录系统、导出数据等流程的自动化过程,主要步骤设置方法及注意事项参考下面案例。
1、运行应用程序
添加“运行应用程序”步骤,选择应用程序的安装路径。

2、等待窗口打开
添加“等待窗口打开”步骤,确保运行程序窗口已打开再执行后面的操作;窗口查找选择“按标题”,窗口标题可通过“选择窗口”按钮获取;打开“窗口打开后进行聚焦”选项。

3、设置窗口状态为最大化
为方便获取窗口里按钮、文本框等等需要点击的元素的位置,将窗口设置为最大化,这样能确保元素位置的相对固定。

4、聚焦窗口
为避免窗口点击受其它弹窗的影响,设置窗口聚焦,查找窗口和选择窗口的方法和前面的一致。

5、发送鼠标单击
通过前面的步骤,我们打开了应用程序的窗口,此时便可以向窗口的特定位置“发送鼠标单击”,达到点击某个按钮,或者点入某个文本框准备输入内容的效果。这里的设置主要涉及3个要点:
- 打开“移动鼠标”开关,填入要单击鼠标的位置,即表示将鼠标移动到相应位置然后单击(不是单击后再移动到相应位置);
- 对于有多个屏幕(如2个显示器)的朋友,设置时的“相对于”选项,可以选择“活动窗口”。

- 怎么确定要点击鼠标的位置(xy坐标)?
Power Automate提供了当前光标位置的识别功能,我们切换到要点击的窗口,将鼠标移动到要点击的位置,然后并按Ctrl+Shift键即可以获取当前光标位置并填写到配置窗口的X、Y值中(虽然切换窗口时看不到这个设置窗口,但不影响光标位置的捕获)。
另外,也可以使用微信截图,按Ctrl+A进入截图状态,然后移动鼠标即可以看到鼠标光标的所在位置,当然,要自己记住并手填到上面的配置窗口中:

6、发送键
对于要输入内容的文本框,通过发送鼠标点击进入文本框输入状态后,即可以通过“发送键”操作,将需要填入文本框的内容“发送”填写。
小技巧——插入特殊键:有很多系统的很多步骤里,是可以在填写内容后按回车(或其它键)触发后续内容的,比如登录时,填完密码按回车即开始登录系统,这时,可以在“发送键”步骤中,插入特殊键,实现相应效果:

后面的设置其实就是不断的发送鼠标单击、发送键、等待窗口打开等等一系列“外挂”操作,最终形成一个完整的自动化流程,不再赘述:

用Power Automate实现流程的自动化执行,需要根据自己电脑的程序、窗口特点、操作过程等情况进行一步步详细设置,这个设置过程有时候可能比较繁琐——千万不要因此而放弃!
流程一旦设置好后,就可以重复执行,一项任务就是点一下按钮的事情,值!