一、需求概述
(1)登录账号
进入网页登录账号,登录方法为扫二维码登录
(2)根据Excel文档输入查询条件
(3)跳转查询结果网页并截图
在跳转到查询页面截图,并在滑动到指定位置后再截一张图
二、项目实现思路
1、登录账号
(1)判断浏览器是否已经打开
【模板:K-RPA新手练习总结——网站超链接获取与写入_krpa判断存在-优快云博客】
(2)单击登录按钮,打开登录界面弹窗
(3)等待用户登录账号
截取当前窗口,并用【等待识别图片】函数等待用户识别图片、登陆账号
注意:【等待识别图片】函数只能在中文脚本里面使用,不能在脚本向导里面调用
实现代码:
图片 = 截取整块窗口(窗口)
结果 = 等待识别图片(图片, '等待用户进行扫二维码登录账号', '流程执行用户', 180, 返回)
if(结果)
[
trace('等待用户识别图片结果为' + 返回)
] else
[
trace('等待用户识别图片已超时3分钟')
]
2、查询
(1)出入参数
(2)查询逻辑
在输入框输入【入参_S_单个数据】,然后在下拉框中找到同样的推荐词,然后对其进行点击跳转到新的页面,并关闭上一个页面。
实现关键点:
1)因为第一次进行查询的页面与后面查询的页面不一样,所以需要用【入参_I_查询次数】判断当前是不是第一次查询
2)因为需要将在下拉框获取到的推荐词与【入参_S_单个数据】判断是否一致时会出现多个遍历循环嵌套,所以得在每个循环前添加中断条件,减少执行流程时所需的时间
3)因为每一次上一个网页的标题与当前网页的标题是不确定的,所以需要将标题作为出入参数来应对每次网页标题的变化。又因为网页的标题与【入参_S_单个数据】相似,我们就可以通过替换字符将"AA*"替换成"【入参_S_单个数据】*"匹配当前网页标题。再因为下一次的【上一页网页标题】是当前的【具体企业网页名】,所以每次跳转到新的页面都需要将当前网页的标题储存到【上一页网页标题】中,以便用于下一次的查询中。
4)在第二次查询开始就进行关闭上一个网页操作。当判断新一页网页已经成功打开后就使用【附加浏览器】+【关闭选项卡】关闭上一个网页
3、截图
(1)判断WPS和Excel程序是否已经打开,如果打开,需要人工关闭这些程序。
模板:【K-RPA新手练习总结——网站超链接获取与写入_krpa判断存在-优快云博客】
(2)打开指定文档,找到需要查询数据所在列的字母,根据列字母读取该一列数据并遍历该列数据列表。
(3)在遍历列数据时,调用自己写的查询组件。
参数解析:
I_查询次数索引:遍历循环的索引
S_单个列数据:列数据列表中的单个字符串
S_上一页网页标题载体:用于记录上一页网页标题,该参数的初始赋值为空,在进入循环后,每次执行【xxxx_查询】组件后就进行赋值——>S_上一页网页标题载体 = S_上一页网页标题
S_具体企业网页名:组件输出的当前网页标题
S_上一页网页标题:组件输出的上一页网页标题
(4)进行截图操作。使用【网页截图】组件进行截图并在延迟2秒后【滚动到指定元素】再次进行截图。注意:上述组件中的选取器内容的网页标题皆为【xxxx_查询】组件输出的【S_具体企业网页名】
(5)关闭浏览器。在列数据列表遍历完成后进行保存关闭工作簿,关闭浏览器。
4、获取文件
作用:当用户使用虚拟机执行RPA流程,如果需要将执行流程所需的文件导入虚拟机里面时可用这一个组件免去手动导入步骤。
实现代码:
@参数值 = ''
路径 = 获取代理临时路径()
print(路径)
目录 = 路径 + '大零售系统影像下载及企查查信息查询\' + formatDateTime('YYYY-MM-DD\',NOW())
建立目录(目录)
错误 = 获取流程参数文件('目标查询名单', 目录 + '目标查询名单.xlsx', @参数值)
if(错误 <> '')
[
返回 = 设置指标('严重', '流程参数文件获取失败,请检查是否上传。。。。。', '')
Trace(返回)
Exit
]
使用时注意点:
1)流程名称要与参数名称相同,而且根据要求勾选文件、是否必填。
2)在组件执行时,获取代理临时路径是在Control里面;在流程中执行时,获取代理临时路径是在Agent里面
三、项目总结
这个项目除了查询和关闭上一页网页比较难外,其他的逻辑比较简单。