免费在线做高考试题的网站,wordpress做登陆界面,浙江做网站平台的科技公司,软件开发模式现实需求
在进行RPA流程设计过程中#xff0c;遇到登录系统需要滑动验证的情况#xff0c;如图所示#xff1a; 此时需要在RPA流程设计中#xff0c;借助现有的活动完成模拟人工操作#xff0c;完成验证登录操作。 设计思路
这个功能流程的设计思路大体如下#xff1a;
…
现实需求
在进行RPA流程设计过程中遇到登录系统需要滑动验证的情况如图所示 此时需要在RPA流程设计中借助现有的活动完成模拟人工操作完成验证登录操作。 设计思路
这个功能流程的设计思路大体如下
1、首先是利用uipath自带的截取屏幕图片活动将需要验证的图片截取下来
2、调用第三方平台的接口识别图片并返回缺口的x坐标
3、利用uipath自带的“单击”活动模拟拖动滑块实现验证登录的操作。 实现过程
在uipath中使用截取屏幕截图捕捉需要进行验证的验证码图片自定义存储文件的路径我这里是定义了一个变量img_path来存放文件路径。2.添加“pyhton作用域”活动在作用域中依次添加“加载python脚本”、“调用python方法”、“获取python对象”三个活动。 以上活动的前提是你要在项目依赖项中先添加uipath.python.activities不然在活动中你是找不到上面的这些活动的。 添加依赖项的方法在设计界面上方点击管理程序包在管理包界面中搜索输入python选择对应的包安装即可。 当然你要调用python的脚本代码自然也是要先安装python解析器的至于安装python解析器的步骤方法这里就略过请各位自行百度。 3.填写相应活动的参数变量这里就只展示一些必填的参数内容。
Python作用域
版本根据你本地安装的python解释器为准我这里选择自动
目标x86或者x64根据你实际的情况进行选择
路径就是python.exe的文件路径我这里设置了变量python_path来存放。 加载python脚本
文件也就是你python脚本文件的存放路径我这里用py_path变量来存放
结果这里需要定义一个pyhton对象来存放输出的结果定义为py_def。 调用python方法
名称你需要调用的python脚本里面的方法名称我这里定义变量def_name来存放这里面要注意这个名称必须与你python脚本中的方法名称一样
实例就是第一步加载python脚本时输出的python对象数据也就是py_def
结果该活动最终输出的结果类型也是一个python对象我这里定义一个变量code_value_py来进行存放。 获取pyhton对象
TypeArgument这里根据你实际返回的结果需要进行选择我这里需要返回的是字符串string
Python对象这里输入上一步调用python方法输出的结果我这里为定义的变量code_value_py
结果最终输出的结果可以自行定义我这里定义变量code_value进行存放。 经过以上步骤最后我们可以拿到一个验证码图片缺口的x坐标的值。可能有的朋友就有疑惑了这个x坐标的值是怎么拿到的。别急最后我会对python脚本展开来讲。 4.添加三个“单击”活动用以模拟鼠标的操作来完成滑动验证码验证三个单击活动的参数配置稍有不同分别如下
第一个单击活动
光标移动类型CursorMotionType.Smooth
点击类型选择下鼠标键默认左键表示鼠标按下左键
单击偏移量模式选择PointOffset但是不设置偏移量表示从起点开始
输入模式选择硬件事件。 第二个单击活动
光标移动类型CursorMotionType.Smooth
点击类型选择下鼠标键默认左键表示鼠标按下左键
单击偏移量模式选择PointOffset这里的偏移量应用前面python返回的x值表示从滑动到的位置我这里设置为CInt(code_value)
输入模式选择硬件事件。
这里可能还要设置活动完结后延迟2~3秒。 第三个单击活动
光标移动类型CursorMotionType.Smooth
点击类型选择上鼠标键默认左键表示鼠标放开左键
单击偏移量模式选择PointOffset但是不需要设置偏移量
输入模式选择硬件事件。 至此整一个RPA流程的设计需要的步骤就完成实现了。 Python脚本代码
参考的python脚本代码如下这里调用的是云码平台提供的接口https://zhuce.jfbym.com/demo/。这里还有一个图鉴的平台上面的接口脚本也可以参考http://ttshitu.com/docs/python.html#pageTitle。 import jsonimport timeimport requestsimport base64class YdmVerify(object):_custom_url http://api.jfbym.com/api/YmServer/customApi_token your token_headers {Content-Type: application/json}def sin_slide_verify(self, image, verify_type20110):# 通用单图滑块(截图) 20110payload {image: base64.b64encode(image).decode(),token: self._token,type: verify_type}Resprequests.post(self._custom_url,headersself._headers,datajson.dumps(payload))#print(resp.text)print(resp.json()[data][data])return resp.json()[data][data]def base64_api():Y YdmVerify()with open(your img_path, rb) as f:s f.read()return Y.sin_slide_verify(images)if __name__ __main__:#Y YdmVerify()#with open(your img_path, rb) as f:# s f.read()# Y.sin_slide_verify(images)result base64_api()print(result)