当前位置: 首页 > news >正文

uipath实现滑动验证码登录

  • 现实需求

在进行RPA流程设计过程中,遇到登录系统需要滑动验证的情况,如图所示:

 

此时需要在RPA流程设计中,借助现有的活动完成模拟人工操作,完成验证登录操作。

  • 设计思路

这个功能流程的设计思路大体如下:

1、首先是利用uipath自带的截取屏幕图片活动,将需要验证的图片截取下来;

2、调用第三方平台的接口识别图片并返回缺口的x坐标;

3、利用uipath自带的“单击”活动,模拟拖动滑块,实现验证登录的操作。

 

  • 实现过程
  1. 在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_type="20110"):# 通用单图滑块(截图)  20110payload = {"image": base64.b64encode(image).decode(),"token": self._token,"type": verify_type}Resp=requests.post(self._custom_url,headers=self._headers,data=json.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(image=s)if __name__ == '__main__':#Y = YdmVerify()#with open('your img_path', 'rb') as f:# s = f.read()# Y.sin_slide_verify(image=s)result = base64_api()print(result)

相关文章:

uipath实现滑动验证码登录

现实需求 在进行RPA流程设计过程中,遇到登录系统需要滑动验证的情况,如图所示: 此时需要在RPA流程设计中,借助现有的活动完成模拟人工操作,完成验证登录操作。 设计思路 这个功能流程的设计思路大体如下: …...

openai-chatGPT的API调用异常处理

因为目前openai对地区限制的原因,即使设置了全局代理使用API调用时,还是会出现科学上网代理的错误问题。openai库 0.26.5【错误提示】:raise error.APIConnectionError(openai.error.APIConnectionError: Error communicating with OpenAI: …...

css实现音乐播放器页面 · 笔记

效果 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …...

buu [NPUCTF2020]这是什么觅 1

题目描述&#xff1a; 就一个这种文件&#xff0c;用记事本打开后&#xff1a; 题目分析&#xff1a; 打开后就一串看不懂的东西&#xff0c;想想这个东西曾经在 010editor 或 winhex中出现过&#xff08;右端&#xff09;既然如此那么我们就用它打开&#xff0c;得到&#…...

Restful API 设计规范

1. 简介 目前 "互联网软件"从用客户端/服务端模式&#xff0c;建立在分布式体系上&#xff0c;通过互联网通讯&#xff0c;具有高延时、高开发等特点。但是软件开发和网络是两个不同的领域&#xff0c;交集很少。要使得两个融合&#xff0c;就要考虑如何在互联网环境…...

sigwaittest测试超标的调试过程

1&#xff0c;问题描述硬件环境&#xff1a;飞腾S2500&#xff08;64核&#xff09;OS&#xff1a;kylinOS, linux preempt rt&#xff0c; 4.19.90测试命令&#xff1a;sigwaittest -p 90 -i 1000 -a 1测试结果&#xff1a;信号混洗值最大超过了80us&#xff0c;与飞腾其他CPU…...

Python进阶-----面对对象4.0(面对对象三大特征之--继承)

目录 前言&#xff1a; Python的继承简介 1.什么是继承 2.继承的好处 3.object类 继承的相关用法 1.继承的定义与法则 2.对继承的重写 3.&#xff08;单继承&#xff09;多层继承 4.多继承 5.多继承重写时调用父类方法 前言&#xff1a; 在讲之前&#xff0c;我想说说中…...

九龙证券|利好政策密集发布,机构扎堆看好的高增长公司曝光

新能源轿车销量和保有量快速增长&#xff0c;带来了充电桩商场的微弱需求。 日前&#xff0c;商务部部长王文涛表明&#xff0c;本年将在落实好方针的一起&#xff0c;活跃出台新方针办法&#xff0c;比方辅导当地展开新能源轿车下乡活动&#xff0c;优化充电等使用环境&#x…...

stm32CubeIDE FMC 驱动LCD(8080)

一&#xff0c;TFT屏硬件接口16位&#xff0c;80并口。二&#xff0c;FMC介绍。FSMC&#xff08;Flexible Static Memory Controller&#xff09;&#xff0c;译为灵活的静态存储控制器。STM32F1 系列芯片使用 FSMC 外设来管理扩展的存储器&#xff0c;它可以用于驱动包括 SRAM…...

Java 数据类型

数据类型用于对数据归类&#xff0c;以便开发者理解和操作。 基本数据类型 Java 确定了每种基本数据类型所占存储空间的大小&#xff0c;不会像其它语言那样随机器硬件架构的变化而变化&#xff0c;这使 Java 程序更具可移植性。 Java 中定义了如下的基本数据类型。 byte …...

Prometheus 监控云Mysql和自建Mysql(多实例)

本文您将了解到 Prometheus如何配置才能监控云Mysql(包括阿里云、腾讯云、华为云)和自建Mysql。 Prometheus 提供了很多种Exporter&#xff0c;用于监控第三方系统指标&#xff0c;如果没有提供也可以根据Exporter规范自定义Exporter。 本文将通过MySQL server exporter 来监控…...

Vue3中的h函数

文章目录简介简单使用参数使用计数器进阶使用函数组件插槽专栏目录请点击 简介 众所周知&#xff0c;vue内部构建的其实是虚拟DOM&#xff0c;而虚拟DOM是由虚拟节点生成的&#xff0c;实质上虚拟节点也就是一个js对象事实上&#xff0c;我们在vue中写的template,最终也是经过…...

阿尔法开发板 IMX6ULL 说明

一. IMX6ULL开发板 IMX6ULL开发板即正点原子的阿尔法(ALPHA)开发板&#xff0c;采用恩智浦芯片&#xff0c;cortex-A7架构的。 二. IM6ULL开发板说明 1. IO说明 对于IMX6ULL芯片&#xff0c;一个IO对应两个寄存器&#xff0c;第一个寄存器负责配置其复用功能&#xff0c;…...

Altium Designer19 #学习笔记# | 基础应用技巧汇总

全文目录一.元件符号库二.元件封装库1.AD09 集成元件库/封装库三.电路原理图1. 巧用查找"相似对象功能"1.1 查找相同元件1.2. 查找相同文本1.3. 查找相同网络 &#xff1a;E - S - C四.PCB原理图【AD PCB模式下的常用快捷键】PCB视图放大/缩小PCB视图左/右移动PCB切换…...

Python 元类编程实现一个简单的 ORM

概述 什么是ORM?    ORM全称“Object Relational Mapping”&#xff0c;即对象-关系映射&#xff0c;就是把关系数据库的一行映射为一个对象&#xff0c;也就是一个类对应一个表&#xff0c;这样&#xff0c;写代码更简单&#xff0c;不用直接操作SQL语句。 现在我们就要实…...

《C++ Primer Plus》第18章:探讨 C++ 新标准(7)

C11 新增的其他功能 C11 增加了很多功能&#xff0c;本书无法全面介绍&#xff1b;另外&#xff0c;本书编写期间&#xff0c;其中很多功能还未得到广泛实现。然而&#xff0c;有些功能有必要简要地介绍一下。 并行编程 当前&#xff0c;为提高计算机性能&#xff0c;增加处…...

Redis学习(二):Redis安装测试

概述 Redis是什么 Redis, Remote Dictionary Server, 即远程字典服务。免费开源的数据库。 由C语言编写&#xff0c;支持网络&#xff0c;可基于内存亦可持久化的日志型、KV数据库&#xff0c;并提供所种语言的API。 Redis能干嘛 用于内存存储&#xff0c;持久化。rdb、ao…...

Vector - CAPL - 简介及数据结构

对于想进入车载行业或者已经在车载行业工作的朋友对于CAPL这个词都会相当的熟悉&#xff0c;都知道他是做车载网络测试脚本的语言&#xff0c;并且跟C有点类似&#xff0c;但是它到底是什么呢&#xff1f;CAPL全称&#xff08;Communication Access Programming Language&#…...

20230304英语学习

What Would Happen if the Moon Disappeared Tomorrow? 如果明天月球消失了会怎样&#xff1f; The closest object to our planet, the Moon, may seem like Earth’s little sibling.Since its birth, the satellite has mostly just hung around, playing gravitational t…...

【基础算法】单链表的OJ练习(3) # 移除链表元素 # 相交链表 #

文章目录前言移除链表元素相交链表写在最后前言 本章的OJ练习也是相对简单的&#xff0c;只要能够理解解题的思路&#xff0c;并且依照这个思路能够快速的写出代码&#xff0c;我相信&#xff0c;你的链表水平已经足够了。 对于OJ练习&#xff08;2&#xff09; : ->传送门…...

从JDBC到MyBatis:手把手调试源码,看一个`String`类型的`id`参数如何走完数据库查询与映射的全流程

从JDBC到MyBatis&#xff1a;手把手调试源码&#xff0c;看一个String类型的id参数如何走完数据库查询与映射的全流程 在Java持久层框架的演进历程中&#xff0c;MyBatis凭借其灵活的SQL控制能力和优雅的ORM映射机制&#xff0c;成为众多开发者处理复杂数据库操作的首选工具。…...

OpenClaw+Kimi-VL-A3B-Thinking:自动化会议纪要生成工具

OpenClawKimi-VL-A3B-Thinking&#xff1a;自动化会议纪要生成工具 1. 为什么需要自动化会议纪要 作为技术团队的负责人&#xff0c;我每周要参加至少5场会议。每次会后整理纪要都要花费30-60分钟&#xff0c;最痛苦的是要反复听录音核对关键决策点。直到发现OpenClaw可以对接…...

Hunyuan-MT-7B在Keil5项目中的集成:嵌入式系统多语言界面

Hunyuan-MT-7B在Keil5项目中的集成&#xff1a;嵌入式系统多语言界面 1. 引言 你有没有遇到过这样的情况&#xff1a;开发了一款很棒的嵌入式产品&#xff0c;准备推向国际市场时&#xff0c;却发现多语言支持成了大问题&#xff1f;传统的解决方案要么需要为每种语言单独编译…...

Fish-Speech-1.5零样本语音克隆:10秒音频实现高质量语音合成

Fish-Speech-1.5零样本语音克隆&#xff1a;10秒音频实现高质量语音合成 1. 引言 你有没有想过&#xff0c;只需要10秒钟的录音&#xff0c;就能让AI学会你的声音&#xff0c;然后用你的声音说出任何你想说的话&#xff1f;这听起来像是科幻电影里的情节&#xff0c;但现在真…...

别再到处找瓦片服务地址了!手把手教你用OpenLayers 7.x集成天地图和高德地图(附完整代码)

OpenLayers 7.x实战&#xff1a;深度解析天地图与高德地图集成方案 第一次接触地图开发时&#xff0c;最让我头疼的不是写代码&#xff0c;而是找不到正确的瓦片服务地址。那些看似简单的URL背后&#xff0c;藏着各种参数玄机——为什么别人的地图能正常显示中文标注&#xff1…...

SecGPT-14B模型调优指南:降低OpenClaw安全任务Token消耗

SecGPT-14B模型调优指南&#xff1a;降低OpenClaw安全任务Token消耗 1. 为什么需要关注Token消耗问题 去年冬天&#xff0c;当我第一次用OpenClaw对接SecGPT-14B执行安全日志分析时&#xff0c;被惊人的Token消耗吓了一跳——一个简单的500行日志分析任务竟然消耗了近3万Toke…...

飞腾CPU+银河麒麟V10系统安装Zotero 6.0.37保姆级教程(含Arch Linux ARM源转换避坑指南)

飞腾CPU银河麒麟V10系统安装Zotero 6.0.37全流程解析与深度优化指南 在国产化技术生态快速发展的背景下&#xff0c;飞腾CPU与银河麒麟操作系统的组合已成为科研机构和关键领域的重要选择。然而&#xff0c;当科研人员需要在这套平台上使用国际主流学术工具时&#xff0c;往往会…...

利用快马平台快速原型化cmd命令查询工具,三步构建命令行助手demo

最近在做一个命令行工具的原型验证时&#xff0c;发现用传统方式开发效率太低。正好尝试了InsCode(快马)平台&#xff0c;发现用它来快速搭建cmd命令查询工具特别方便。整个过程基本三步就能搞定&#xff0c;特别适合需要快速验证想法的场景。 确定核心功能框架 首先梳理了工具…...

解锁论文写作新境界:书匠策AI,你的毕业论文智能导航员!

在学术的浩瀚海洋中&#xff0c;每一位即将毕业的大学生或研究生都像是勇敢的航海家&#xff0c;驾驶着知识的帆船&#xff0c;向着那座名为“毕业论文”的灯塔奋力前行。然而&#xff0c;航程中难免会遇到风浪与迷雾&#xff0c;如何高效、准确地完成一篇高质量的毕业论文&…...

告别杂乱原理图!手把手教你用PDFCreator+Ghostscript为OrCAD 16.6原理图生成带导航书签的PDF

告别杂乱原理图&#xff01;手把手教你用PDFCreatorGhostscript为OrCAD 16.6原理图生成带导航书签的PDF 硬件工程师的日常工作中&#xff0c;原理图评审是绕不开的环节。但你是否遇到过这样的场景&#xff1a;当你将精心设计的OrCAD原理图导出为PDF分享给团队时&#xff0c;软件…...