前言
- 影刀RPA是一款软件机器人,能在PC/手机上模拟人的各种操作,自动化实现各种有逻辑规则、重复性的人工工作,释放生产力。
- 今天我们要探讨的是使用影刀开发网页自动化流程中说遇到坑,以及解决
妙计
。
1. 获取当前任务的日志内容
首先一个影刀RPA应用一般是以下执行流程:
通过上图我们知道,影刀应用是24小时无间断执行的。
有时候我们需要获取应用执行过程中的日志内容,排除程序bug。
影刀内置了导出日志
指令,可获取应用运行期间的全量日志:
但是全量日志包括其他已经执行完毕的任务日志,日志内容冗余
。
为了减少日志查找和排查bug的成本,所以我们自研
一个获取当前任务的日志内容
指令:
实现原理:
2. 超时重试机制
有时候由于网络波动、服务器不稳定等原因,导致网页加载错误、超时,导致任务执行失败。
为此,我们可以设计实现一套超时重试机制
流程,提升任务成功率:
实现原理:
3. 等待目标内容加载完成
浏览网页过程中,经常伴随着各种操作,但是操作完成之后,往往需要等待网络请求完成,才能进行下一步的操作。
如点击下一页
按钮,跳转到下一页后,再在页面中输入内容:
为了应对以上情况,我们可以这样解决:
- 目标页面有
唯一CSS选择器
,可通过影刀内置的获取元素对象
指令并给等待元素存在
设置一定的超时时间解决:
- 目标页面和上一页的页面元素相同,没有唯一的CSS选择器,仅部分页面
文字不同
时,可以通过自研指令-等待网页文字出现
解决:
实现原理:
4. 根据文本获取元素
有时候网页的页面元素相同没有唯一CSS选择器
,导致难以捕获到目标元素。
针对这一问题,可以通过自研指令-根据文本获取元素
解决:
实现原理:
5. 使元素失去焦点
有时候下拉选择器会遮挡住底下的控件:
如果我们需要操作被遮挡的控件,需要先把下拉选择控件失去焦点,让下拉菜单隐藏后再进行操作。
让元素失去焦点,可以有以下做法:
-
通过影刀获取一个空白的元素,然后执行一次点击空白元素操作。
-
使用
自研指令-元素失去焦点
指令
每个页面的元素不一样,导致每次都要查找判断这个元素是否为空白、不响应点击事件的元素,比较麻烦,且通用性较差。
为此,我们可以通过自研指令-元素失去焦点
指令解决:
实现原理:
总结
前端开发工程师作为网页的开发者,对网页结构、页面元素非常熟悉,灵活运用前端专业知识,配合影刀的可视化开发,能够开发出复杂的网页自动化操作流程。
结语
感谢您耐心阅读这篇文章。如果您觉得内容对您有帮助或启发,请不吝点赞支持。如果您发现文章中的任何错误或需要改进的地方,欢迎您指正批评。