每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

小伙伴们下午好 ~ 感谢阅读 💫 今日推荐

小编在使用设计器实现:从谷歌浏览器下载文件到本地,过程中遇到一些问题与解决技巧,在这里与大家分享 ~ 

欢迎点评赐教 ~

每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理 

1. 问题描述

场景 谷歌浏览器

需求 需要通过下拉框选择,分别下载“ 兑换记录”和“ 发放记录”两张表到本地,如下图
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

困扰1 :无法使用【Select】组件直接选择;(目前【Select】组件仅支持 IE 浏览器)

无论是通过修改元素默认下拉框的“Selector”路径;还是直接定位下拉选项中的 selector 路径;运行均无法生效
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理 
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理 

【Select】组件 Pass 掉 ~

困扰2 :第二次点击选择“下拉框”:单步执行成功,放入流程运行则点到如下红框的位置;
重新拾取也无法准确定位拾取到元素;
(反复测试均如此)
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

困扰3 :手动关闭“底部出现的下载提示框”后,发现可以正常拾取,但鼠标点击无法准确定位到“底部下载提示框”

如下,只能拾取到整个窗口
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

困扰4 :下载第二个文件前无法确定第一个文件是否下载完成

鉴于容错考虑:第一次点击“导出”可能不成功;

或导出后,由于页面响应不佳,导致长时间没有导出文件到本地,需要重复执行操作;

因此在导出第二个文件前,首先保证第一个文件导出成功

2. 需求实现说明

解决 - 困扰1

使用【鼠标点击】,点中下拉框,再进行下拉选项的选择

解决 - 困扰2

由于第一次下载“兑换记录”不需要进行下拉框选择,直接“导出”即可;

在进行第二张表的下载时,又排除了使用【Select】组件的可能,因此计划采用【鼠标点击】+【模拟按键】的方式实现;

可新的问题是,【鼠标点击】拾取选择框后,单步运行正常,放入流程运行则点到其他错误位置了;

经过研究,发现原因如下:

第一次下载“兑换记录表”后,会在页面底部出现下载提示框,导致谷歌浏览器页面元素的位置发生变化,原来拾取的位置整体下移

在尝试,手动关闭“底部出现的下载提示框”后,发现可以正常拾取“Select 框”

解决 - 困扰3

【鼠标点击】“自动拾取” 改为 “UIA 拾取”**
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

【鼠标点击】选择框后,下拉选项也可以通过“UIA 拾取”方式,如下;或者使用【鼠标点击 + 模拟按键】
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

解决 - 困扰4

由于时间有限,对于仅“导出两张表”的流程,此处仅展示容错处理的整体设计

每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

容错包括:
* 确保第一张表导出成功(第一次“导出”按钮点击了)
* 确保点击 “X” 成功了(关闭底部出现的下载提示框,才可以准确进行第二次下拉框选择)
* 确保第二次进行下拉框成功了

做足了容错,再也不用担心:“有没有点击成功啊~”、“有没有导出成功啊~”、“万一没有数据怎么半~”、“万一用户登录 / 没登录怎么半~”。。。
每日推荐 | 谷歌浏览器下载文件 - 技巧与容错处理

如果对上述容错,或“Login”等子流程容错处理感兴趣,欢迎评论回复👇~~ 下期推荐再会👋