KRPA-新手练习总结——根据Excel文档在网页中查询并截图

一、需求概述

(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里面

三、项目总结

这个项目除了查询和关闭上一页网页比较难外,其他的逻辑比较简单。

KRPA(Kettle Reporting and Processing Agent)是Kettle(Pentaho Data Integration,简称PDI)的一部分,它主要用于生成报告和处理数据。要在KRPA中配置方法组件根据调用的不同返回对应的数据,你需要按照以下步骤操作: 1. **创建方法组件**: 打开PDI工作台,右键点击“转换”文件夹下的“文件”,然后选择“添加”>“脚本”>“方法”。这将创建一个新的Method步骤。 2. **编写Java代码**: 在打开的方法编辑器里,编写你的Java代码。你可以定义一个静态方法,该方法接收参数(如果需要),根据输入参数的不同返回相应的数据。例如: ```java public static Object execute(String inputParam) { // 根据inputParam的值,从数据库查询、计算或其他数据源获取数据 if (inputParam.equals("value1")) { return "对应数据1"; } else if (inputParam.equals("value2")) { return "对应数据2"; } // ...其他条件分支 return null; // 如果没有匹配,返回默认或空值 } ``` 3. **设置输入和输出**: 添加必要的输入参数,比如表或字段,以便传递给方法。如果你的代码不需要额外输入,可以留为空。 4. **运行测试**: 使用PDI的工作流程调度器或直接运行转换,传入不同的参数,验证方法是否能正确地返回预期结果。 5. **关联到报表**: 如果你需要将这个方法的结果用于生成报告,可以在后续步骤中引用此方法,将其结果连接到报表的相应部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值