IS-PRA 小项目实战全解析 -- 读写子流程

说在前面

本篇贴子是把这篇贴子里 IS-PRA 小项目实战全解析 提到的子流程汇总一下。

有兴趣的朋友可以先看下之前的贴子。

子流程 get_login

这个子流程是在登录前,读取数据表里的用户名和密码用的。

流程图

IS-PRA 小项目实战全解析 -- 读写子流程

思路说明

先把数据表的地址存给全局变量: File_path ,如:r'C:/Users/Administrator/Desktop/peixun.xlsx'

读取数据表整行数据,返回 list , 如图:

IS-PRA 小项目实战全解析 -- 读写子流程

通过代码块,找出用户名和密码来:

P_login_card = P_login_list[2]
P_login_pwd = P_login_list[6]

再分别的把用户名和密码返回;

变量说明

IS-PRA 小项目实战全解析 -- 读写子流程

全局变量: P_num ,这个变量是指数据从第几行开始读取; File_path , 这个变量是指数据表的位置 ;

流程参数:PN,是为了从调用此流程的流程(login 子流程)中获得读取数据表中的哪行数据。

流程变量:即用户名、密码和整行数据的 list , 用来返回用户名和密码;

子流程 set_login

这个子流程是在登录成功 / 失败后,把状态写入数据表用的;

流程图

IS-PRA 小项目实战全解析 -- 读写子流程

思路说明

先通过一个流程参数 flag 来判断是写入 成功 还是 失败

给单元格写入状态和设置单元格背景颜色;

所有的参数是在调用子流程的流程中设置的。

子流程 get_act

这个子流程是在激活课程前 ,读取激活码和激活密码用的;

IS-PRA 小项目实战全解析 -- 读写子流程

流程解释,参考上面的 get_login 子流程;

子流程 set_act

这个子流程是在激活成功 / 失败后,把状态写入数据表用的;

IS-PRA 小项目实战全解析 -- 读写子流程

设计思路与 set_login 相同;

子流程 ver_order

这个子流程是在激活课程前 ,判断页面是否打开的容错流程;

IS-PRA 小项目实战全解析 -- 读写子流程

主要通过“元素是否包含文本”组件来判断页面是否打开,因为网络可能不稳定,所以设置了两次等待时间;

识别验证码

根据设计思路:

1,先套个 try 异常;再来个 while 循环,超过 5 次尝试后,return 0,并强关窗口,跳出循环;

IS-PRA 小项目实战全解析 -- 读写子流程

while(true) 进入循环,设置自增变量 (i=i+1),当 if(i<5) 开始识别验证码,否则强制关闭窗口;

2,识别验证码,容错(判断验证码不是 4 位)

IS-PRA 小项目实战全解析 -- 读写子流程

截图,验证码识别,设置变量 (变小写) , if(len(V_code)==4),如果验证码是 4 位,则尝试登录,不是就 continue 循环

IS-PRA 小项目实战全解析 -- 读写子流程

验证码的识别不是免费的,需要在后台充值能力点数;填写 apiKeysecretKey才能使用。

3,验证码正确后,验证登录,成功后再 return 1

IS-PRA 小项目实战全解析 -- 读写子流程

把验证码填到文本框,尝试登录,若能进入后台,就抓取验证文本,返回1,否则continue重试;

其他子流程

还有 set_IPver_act 等子流程,与 set_login 和 ver_order 子流程类似,不在赘述。


本贴是这次小项目实战解析的补充贴;

对原贴感兴趣的小伙伴,请看 IS-PRA 小项目实战全解析