思想瞭望者

UiPath不能稳定点击IE下载通知条“保存”按钮旁小三角按钮的问题

转载注意:本文由思想瞭望者于2020年7月3日首发于博客园,转载请注明出处!

现象:用UiPath自动操纵IE下载文件另存为时,许多同行遇到不能稳定点击“保存”按钮旁边的小三角按钮的问题。如下方图1红框所示。

红框中的小三角按钮令许多同行头痛

(图1:小三角按钮)

原因:IE的下载通知条其实有两种状态,一是常见的“通知”(如图2),二是“警报”(如图3)。当我们用UiPath在IE点击一个网页的下载链接,会先弹出“下载通知”,然后“下载通知”有可能很快转变成“下载警报”。对于UiPath来说已经是两个下载通知条了(只是外观相近而已),但是人眼看起来好像按钮还是那个按钮,除了底色在黄白间渐变,并没有感觉到什么不同。

 下载通知

(图2:下载通知)

下载警报

 (图3:下载警报)

多数时候“下载通知”和“下载警报”的完整Selector是相同的,但有时候二者会有细微然而关键的差异导致UiPath难以稳定点击那个小三角按钮。

有趣的是,一方面下载通知条的“警报”状态往往非常短暂,容易被人无意中忽略。另一方面,当下载通知条处于“警报”状态时,光标移到上面会令它瞬间转变为“通知”状态,于是难以通过Indicate on screen (UiPath Studio)或者Indicate Element(UI Explorer)捕捉到“警报”状态的对应Selector。

许多人不知道IE的这个行为,以为两者是一个东西。所以针对“下载通知”优化了Selector之后,一旦出现“下载警报”便会报错报异常,于是再想办法针对“下载警报”调整Selector,结果又导致“下载通知”不能稳定点击了,就显得一头雾水摸不着方向。

有的人利用两个状态容易互相转化的特点,有许多土办法来完成这个点击动作,包括但不限于:

  • 连续尝试单击那个小三角直至点击成功(用Retry Scope或者While/Do While),其实是他们的Selector只能处理其中一种情况,所以他们就不断重试直到下载通知条对应的状态出现。
  • 让光标先滑过下载通知条(用Hover),使下载通知条直接进入“下载通知”状态。

这些我认为只能视为Work around,而不是针对问题的Solution。

下面给大家展示一下我可以提供的线索。

首先以我的笔记本为例。环境信息如下:

系统信息

 (图4:笔记本系统信息)

IE版本信息

 (图5:IE版本信息)

网页所处安全区域及区域安全级别

 (图6:网页所处安全区域及区域安全级别)

在笔记本环境下,对于同一个下载链接,不论出现的是“下载通知”还是“下载警告”,我都捕获到了一样的完整Selector。因此在我的笔记本上,对于这个下载链接我可以写出一个通用的Selector来覆盖全部下载场景。

复制代码
1 <wnd app='iexplore.exe' cls='IEFrame' title='邮件 - XX XXXXXX - Outlook - Internet Explorer' aastate='可调大小, 可移动, 可设定焦点' />
2 <wnd cls='Frame Notification Bar' aastate='可设定焦点' />
3 <wnd aaname='通知' cls='DirectUIHWND' />
4 <ctrl automationid='IENotificationBar' name='通知' role='tool bar' text='通知' />
5 <ctrl name='保存' role='split button' text='保存' />
6 <ctrl name='6' role='drop down button' text='6' />
复制代码

但是在我的服务器上,我观察到IE有不一样的行为。服务器的环境信息如下。

系统信息

 (图7:系统信息)

IE版本信息

 (图8:IE版本信息)

网页所处安全区域及区域安全级别

 (图9:网页所处安全区域及区域安全级别)

当出现“下载通知”时,小三角按钮的完整Selector如下。

复制代码
1 <wnd app='iexplore.exe' cls='IEFrame' title='邮件 - XXXXXXXXXX@cn.gt.com - Internet Explorer' aastate='可调大小, 可移动, 可设定焦点' />
2 <wnd cls='Frame Notification Bar' aastate='可设定焦点' />
3 <wnd aaname='通知' cls='DirectUIHWND' />
4 <ctrl automationid='IENotificationBar' name='通知' role='tool bar' text='通知' />
5 <ctrl name='保存' role='split button' text='保存' />
6 <ctrl role='drop down button' />
复制代码

而出现“下载警报”时,小三角按钮的完整Selector如下。

复制代码
1 <wnd app='iexplore.exe' cls='IEFrame' title='邮件 - XXXXXXXXXX@cn.gt.com - Internet Explorer' aastate='可调大小, 可移动, 可设定焦点' />
2 <wnd cls='Frame Notification Bar' aastate='可设定焦点' />
3 <wnd aaname='通知' cls='DirectUIHWND' aastate='中级警报' />
4 <ctrl automationid='IENotificationBar' aastate='中级警报' name='通知' role='tool bar' text='通知' />
5 <ctrl name='保存' role='split button' text='保存' />
6 <ctrl role='drop down button' />
复制代码

可见,区别在于行号#3和#4出现了“aastate=’中级警报’”的属性,而这个属性在“下载通知”的完整Selector中则完全没有出现。经过实际测试,正是这个属性影响到小三角按钮点击动作的稳定性。而由于许多人并没有捕捉到或者仔细观察过“下载警报”的完整Selector,因此不容易发现这个细微的问题。

而且可以合理推测,随着安全区域的不同,以及对应的区域安全级别的不同,有可能会出现“初级警报”或者“高级警报”。再加上IE的Selector会随着系统语言变化。因此这里隐藏的变化比较多,要用一个Selector搞定各种场景还是有点困难的。

顺便也可以理解许多同行开发的IE下载文件动作在自己的机器上就是好的,部署到生产服务器就各种不稳定的情况。

我的解决方案:

RPA永远只有更好的办法,没有最好的办法。我就拿我的办法来抛砖引玉一下。大家可以发挥想象力,看看有没有更好的做法。

我会针对“下载通知”和“下载警报”分别设计一套逻辑,出现哪个用哪个。我习惯先用Pick看看能不能搞定,结果目前看来一直很稳定,可供大家参考。如果Pick不行的话,可以考虑依次尝试用两种Selector去先后点击,一个点不了的话另一个就会成功的。

解决方案

(图10:仅供参考)

这个问题相信不止是UiPath会遇到,其它的RPA工具在做IE自动化的时候应该也会遇到的,因此还是有必要稍微研究一下。

欢迎加入“UiPath精英群”参与深度探讨

加入UiPath精英群

LittleR

流程自动化机器人讲座-走进温州商学院

流程自动化机器人讲座-走进温州商学院

温州商学院是目前浙南地区唯一一所商科类本科院校,前身是被誉为中国高水平独立学院的温州大学城市学院。现任校长为中国社科院原副院长、国家金融与发展实验室理事长李扬;名誉校长为原中共中央委员、中国社会科学院原常务副院长、国家商务部政策咨询委员会主任王洛林教授。拥有全日制在校生超过12000名。

报告演讲一:虚拟财管金融机器人时代来临

流程自动化机器人讲座-走进温州商学院

2019年11月20日15:30,商学院联合信息工程学院、管理学院、金融贸易学院在F区报告厅举办了“虚拟财管金融机器人时代来临”的主题讲座。

学术报告厅门口签到排起了长长的队伍,同学们对前沿的新技术表现得非常踊跃和积极。

流程自动化机器人讲座-走进温州商学院

流程自动化机器人讲座-走进温州商学院

信工学院院长白宝钢教授以白居易的《忆江南》引出今天的话题,并隆重介绍了本次讲座的主讲人张功权。张功权先生是国内资深RPA&AI领域咨询&技术专家,RPAPIus创始人。张总首先向大家介绍了RPA的理念。RPA以机器人作为虚拟劳动力完成预设任务,突破了时间,空间以及人力的限制。详细地讲述了目前RPA具有的优势以及对未来生活的重要性。

流程自动化机器人讲座-走进温州商学院

流程自动化机器人讲座-走进温州商学院

流程自动化机器人讲座-走进温州商学院

接下来,张总用大数据生动形象地描述了RPA覆盖的行业领域与国际国内发展形势。RPA选择标准很清晰,是不需要人为进行繁琐判断的流程。现大多应用在金融领域,精准度高但运行简单。张总用视频向我们展现RPA的使用方法。用数据直观表现出差距率,RPA带来了极大的生产效率提升。张总讲解了RPA的就业市场。RPA大幅度提升生产效率,提高员工幸福感。其就业前景大薪水待遇好。张总现场演示了RPA的运行方式并推荐了一些优秀的RPA产品。

在讲座最后是,现场老师与学生们就RPA就业应聘培训提出疑惑。张总对此给出了完美的解释,他总结为四个能力:逻辑、编程、业务知识、沟通能力,表示要借用工具自己去学习些项目比同龄人多点资历。

至此,“虚拟财管金融机器人时代来临”主题讲座圆满结束,感谢张功权总的精彩讲座。

报告演讲二:虚拟员工时代来临

流程自动化机器人讲座-走进温州商学院

流程自动化机器人讲座-走进温州商学院

 

2019年11月19日晚上,信息工程学院特地邀请了RPAPlus创始人张功权于2-112教室举行了一场“虚拟员工机器人时代来临”的主题讲座。讲座由白宝钢教授主持。

【RPAPlus】将与商学院探讨更多的合作意向,包括学生实习,RPA培训,推荐就业,联合创新实验室等等。

► PwC合伙人 钱剑虹 机器人流程自动化的浪潮之下

► 安永合伙人 刘岳 财务智能自动化-打造可持续发展之旅 

► 慧流科技CEO 李熙南 智慧流程 释放潜能

► 独角兽RPA中心负责人  李博 虚拟员工在互联网公司的应用

► 陆岷峰 教授 数字员工,人力资源管理一个新时代的到来

► RPAPlus 张功权  RPA+AI推动下一波成本合理化

► Gartner 2020 10大战略技术  RPA+登顶(附视频)

 

 

LittleR

BluePrism 免费试用版,有人用过吗?

BluePrism近期终于也推出了免费试用版的产品,官方将产品分成了三种版本。

【Try】【Learn】【Buy】

BluePrism 免费试用版,有人用过吗?

试用推荐大家选择 Learn版本,可以有3个月免费期限。

参照此手册可以完整掌握如何部署一个测试版的BluePrism系统

RPAPlus官网也可以下载官方英文版的配置手册

第一步:首先你得申请一个BluePrism Portal账号

网址: https://portal.blueprism.com/

BluePrism 免费试用版,有人用过吗?

第二步:去DX网站申请一个测试license

网址:

https://digitalexchange.blueprism.com/dx/entry/3439/solution/blue-prism-free-on-prem-trial

BluePrism 免费试用版,有人用过吗?

备注:如果是Login的用户,这里会显示 Get Free Trial ,如果没有Login则会显示 Get License 。

成功后邮箱会收到 licensse 原始文件

第三步:下载试用版 BluePrism V6.6

BluePrism 免费试用版,有人用过吗?

第四步:安装试用版

基本就是确认和下一步,点击即可。

第五步:初始化配置BluePrism 免费试用版,有人用过吗?

双击执行BluePrism 程序

5.1 设置初始管理员密码

BluePrism 免费试用版,有人用过吗?

备注:熟悉 BluePrism的朋友都清楚,老版本根本就没有这一步,默认的管理员账号和密码都是 admin,只是几乎没有文档会标注这个密码信息。

5.2 系统帮用户自动构建一个简易本地数据库

BluePrism 免费试用版,有人用过吗?

备注: 以前很多朋友觉得BluePrism难,是因为连数据库都要自己部署。而这个新功能确实可以省去不少麻烦。

BluePrism 免费试用版,有人用过吗?

第六步 激活License (该步骤中有一步-容易出错)

BluePrism 免费试用版,有人用过吗?

浏览选择之前通过邮件发送的原始License 文件

BluePrism 免费试用版,有人用过吗?

注意:License激活到第三步的时候,需要去 Blue Prism官网Portal激活License。  点击客户门户按钮

BluePrism 免费试用版,有人用过吗?

BluePrism 免费试用版,有人用过吗?

BluePrism 免费试用版,有人用过吗?

在官网Portal复制那个License ,点击激活,才可以真正激活License。

至此 BluePrism 试用版安装和License激活就完成了。

BluePrism 免费试用版,有人用过吗?

下面我们进去简单瞧一眼最新的免费试用版。

新版本增加了用户开机使用指南,而且还是Q版的,给好评。

BluePrism 免费试用版,有人用过吗?

尽管上一个版本就对中文进行支持,但很明显这个新版本对中文UI的优化和中文输入优化很多。

BluePrism 免费试用版,有人用过吗?

软件主页界面:

BluePrism 免费试用版,有人用过吗?

软件Studio界面:

BluePrism 免费试用版,有人用过吗?

备注:发现翻译错误一个,什么叫创建宾语???本意应该是创建 Object 对象。

BluePrism 免费试用版,有人用过吗?

打开创建的对象里面还是Blue Prism经典的流程设计引擎

欢迎阅读!

「RPAPlus」 | 专注RPA+AI 研究&评测
BluePrism 免费试用版官方英文部署手册 (下载3)