• 业务场景:

  • 使用RPA获取业务系统网站的验证码截图,将截图转base64之后传到百度OCR文字识别接口,获取文字识别结果,将识别结果用作登陆业务系统的验证码凭证。从而解决RPA自动登录系统的问题。
  • 设计思路:

样例:

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的百度APIKey&client_secret=你的百度SecretKey

参数

access_token

通过API Key和Secret Key获取的access_token,参考“Token获取”

参数

Content-Type

application/x-www-form-urlencoded

返回参数(这里只展示我们需要用到的返回参数)

字段

是否必选

类型

说明

words_result

array[]

识别结果数组

words_result_num

uint32

识别结果数,表示words_result的元素个数

+ words

string

识别结果字符串

参数详情如下:

请求参数(这里我们只需要对图片进行处理,后续可以根据实际情况扩充)

参数

是否必选

类型

可选值范围

说明

image

和 url/pdf_file 三选一

string

-

图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式
优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效

返回说明

  • 前期准备:

  • Uipath:添加一个webapi的包,用来发送http请求。

  • 百度智能云:登录百度AI开放平台,申请免费文字识别免费试用额度(所有接口大概都有1000次/月,足够了),地址为百度智能云-登录=

  • 百度智能云官方文字识别官方文档地址:https://ai.baidu.com/ai-doc/OCR/1k3h7y3db。查看帮助文档,获取api接口以及参数,发现调用该接口需要进行两步操作

  • 获取token

  • 以下资料来源百度智能云文档,链接为https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu

  • 请求URL数据格式

    向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:

  • grant_type 必须参数,固定为client_credentials;
  • client_id 必须参数,应用的API Key;
  • client_secret 必须参数,应用的Secret Key;
  • 携token调用文字识别接口
  • 这里以通用文字识别(高精度版)为例,文档参考链接:https://ai.baidu.com/ai-doc/OCR/1k3h7y3db

    请求说明

    示例

  • HTTP 方法:POST
  • 请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic
  • URL参数
  • Header(标头)
  • Body中放置请求参数

返回参数(这里只展示我们需要用到的返回参数)

字段

是否必选

类型

说明

words_result

array[]

识别结果数组

words_result_num

uint32

识别结果数,表示words_result的元素个数

+ words

string

识别结果字符串

UIPATH流程搭建:

由于验证码截图和系统登录流程在uipath流程设计里面有涉及,这里就不赘述。这边主要展示请求token与调用文字识别接口的流程设计。

请求token流程搭建:

总流程图如下:

流程搭建解析:

http请求

uipath活动-应用程序集成-网页-http请求

根据前面的教程,我们知道这个活动需要填写内容为端点(请求url)、请求方法(post)、以及请求url对应的三个参数。

端点(请求url)为:” https://aip.baidubce.com/oauth/2.0/token”

请求方法:post

选项-参数:(命名严格要求)

grant_type:"client_credentials"

client_id:你申请的百度apikey

client_secret:你申请的百度api secret

输出-响应内容:自定义参数名称(通过ctrl+k命名变量accessToken)

反序列化json

uipath活动-编程-JSON-反序列化JSON

这个活动只需要两个参数,分别为

输入-JSON字符串:http请求活动输出的响应内容的变量accessToken

输出-Json对象:自定义参数变量,这里命名变量json

分配

uipath活动-工作流-控件-分配

该活动就是变量赋值,这里的作用是提取token(请求返回的数据可以参考官方文档https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu)

值:json("access_token").ToString()

受让人:accessToken

这样我们就把需要的token存放到了变量accessToken里面了。

调用接口流程搭建:

总流程图如下:

流程搭建解析:

这里只对没有出现过的活动进行详细讲述,对于在请求token流程已经出现过的活动,这里就不再赘述,只是把对应的必要的参数展示一下。

截取屏幕截图

uipath活动-用户界面自动化-应用程序-截取屏幕截图

使用方法与获取页面元素属性一样,选取对应的验证码元素之后,定义输出已保存的图像即可。

输出-已保存的图像:自定义变量名称(这里用ctrl+k命名变量img_code)

分配

获取token,把请求token赋值到变量。

将截图图片转换为base64格式。转换方法为img.Base64。

http请求

请求参数如下:

请求url:https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic(百度通用文字识别(高精度版)的请求url,不同类型的接口url不一样)

请求方法:post

选项-标头:固定为Content-Type:application/x-www-form-urlencoded

选项-参数:主要有两个参数,一个请求的token,一个是需要解析的base64类型的图片数据。

输出-响应内容:请求返回的结果,自定义的变量存储。

反序列化json

将步骤三请求结果转换成json对象输出,变量名称可以自定义,这里命名为json。

分配(解析json获得OCR结果)

对json结果进行解析转换为字符串,方法为“json变量("words_result")(0)("words").ToString().Replace(" ","")”

Json数据的结构可以参考官方的文档https://ai.baidu.com/ai-doc/OCR/1k3h7y3db

通过以上所有步骤,我们就完成了通过调用第三方接口去实现文字识别的功能。只要把识别的结果应用到RPA流程设计中,就能够使得RPA实现自动登录业务系统的操作。

UIPATH 调用第三方接口(百度OCR文字识别举例)相关推荐

  1. Java调用百度OCR文字识别的接口

    调用百度OCR文字识别的接口,来自于百度官网,亲测可以使用 跳转链接 FileUtil的下载链接 Base64Util下载链接 HttpUtil下载链接 GsonUtils下载链接 Accurate. ...

  2. Java调用百度OCR文字识别API实现图片文字识别软件

    java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...

  3. java ocr api_Java调用百度OCR文字识别API实现图片文字识别软件

    Java调用百度OCR文字识别API实现图片文字识别软件 原创isinple 发布于2019-01-06 13:35:59 阅读数 1296 收藏 展开 java_baidu_ocr Java调用百度 ...

  4. 百度OCR文字识别及使用案例

    百度OCR文字识别使用案例 案例环境 Windows10.Jdk1.8.IDEA2019.3.5旗舰版 一.账号注册及创建应用 1.访问地址: https://ai.baidu.com/tech/oc ...

  5. 百度OCR文字识别-Android安全校验

    百度OCR文字识别-Android安全校验 本文转载自好基友upuptop:https://blog.csdn.net/pyfysf/article/details/86438769 效果图: 如下为 ...

  6. 百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604]

    百度OCR文字识别API使用心得 com.baidu.ocr.sdk.exception.SDKError[283604] 本文转载自好基友upuptop:https://blog.csdn.net/ ...

  7. android百度识别,百度OCR文字识别-Android安全校验

    效果图: 如下为文章正文: 百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐 ...

  8. python(自动化)利用selenium+百度ocr文字识别验证码实现自动登陆登陆CET-四级报名系统

    操作步骤: 1:登陆打开CET-考试系统 2:填写相关登陆信息 3:调用百度ocr实现文字验证码识别 4:实现登陆 如何使用和调用百度ocr文字识别接口 1:进入百度AI开发平台:链接 2:在页面上选 ...

  9. 百度OCR 文字识别 Android安全校验

    百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式 ...

最新文章

  1. Go 知识点(18)— 条件编译(编译标签、文件后缀)
  2. 丁磊建议将少儿编程纳入学业水平考试,是少儿编程太热,还是起跑线焦虑
  3. 全差分放大器——共模的意义
  4. python找工作难吗-为什么我不建议你通过 Python 去找工作?
  5. 谷歌杀手Wolfram Alpha搜索引擎上线测试
  6. Linux环境进程间通信(二): 信号--转载
  7. 中缀表达式生成二叉树
  8. 安卓php高级编辑器使用方法,Android Studio实战 - 编辑器介绍与使用
  9. Google, 请不要离开我们!
  10. call,apply
  11. gcc -fPIC选项
  12. 【机器学习】 - keras学习 - 图片生成器ImageDataGenerator
  13. java中图片与像素矩阵转换,java - Java中具有矩阵乘法的图片转换不起作用 - 堆栈内存溢出...
  14. vue 实现图片预览放大以及缩小
  15. vue json对象转数组_vue组件间通信六种方式(完整版)
  16. C#发送邮件,包含发送附件
  17. oracle imp指定表空间导入,imp导入其它表空间数据库
  18. python凹多边形分割_在Python中OpenCV多边形的凹凸角点
  19. 数据库从入门到精通01
  20. 字节码是什么?字节码增强有哪些?

热门文章

  1. Baxter官方例程
  2. LightOJ 1070 Algebraic Problem (推导+矩阵快速幂)
  3. 华为开发者联盟上架Android 安装包 包名重复问题
  4. 在Arduino 完成STM32板子的串口通信程序
  5. 【2016年总结】-- 你若盛开,清风自来
  6. Pairwise Body-Part Attention for Recognizing HOI(面向HOI识别的成对身体部位注意力机制)
  7. Multisim仿真—整流滤波电路(二)
  8. 装修房子流程步骤详解图
  9. Anaconda Distribution :流行的Python数据科学平台
  10. node_map: Dict[str, type] = {}