使用TagUI和Robocorp编写RPA示例

RPA示例

RPA软件

​ 开源的RPA软件有很多,接下来会用TagUIRobocorpWeAutomate Studio做示例,其中WeAutomate Studio为华为的RPA工具,开发者设计器有3个月的试用期。

TagUI

TagUI由AI Singapore维护,是一个RPA的命令行界面工具,可以在任何主要的操作系统上运行。首先再github上下载TagUI选择对应的操作系统版本

1.安装

TagUI安装非常简单

​ 1.下载对应的操作系统版本

​ 2.解压到你存放的软件目录

​ 3.安装JDK(确保本地有JDK环境,官网推荐Amazon Corretto 8

​ 4.添加 对应系统目录\tagui\src 到系统环境path下

​ 5.安装chrome浏览器(测试过用Edge不行)

​ 6.打开CMD输入tagui看是否安装成功

在这里插入图片描述

2.运行

运行已经写好的自动化流程也非常简单,在对应的自动化文件.tag目录下使用tagui demo.tag

在这里插入图片描述

几种启动tag的方式:

​ 1.可以使用完整的路径:tagui d:\tagui\samples\demo.tag

​ 2.创建为.cmd文件双击使用:tagui demo.tag -d

​ 3.隐藏浏览器来运行:tagui demo.tag -h

​ 4.创建为.cmd文件并隐藏浏览器:tagui demo.tag -h -d

3.编写.tag自动化文件

​ 下面是官方的示例demo:

// This flow makes a search on Google, clicks the first result and screenshots the page

// First, visit google.com
https://www.google.com

// Look on the web page for an element with 'q' in its text, id or name
// (or some other attributes), then type 'latest movies' and enter
// type q as latest movies[enter]

// Use a more accurate identifier below instead because
// google.com webpage differs for different locations
type //*[@name="q"] as latest movies[enter]

// Click the first result using XPath
// Learn XPath: https://www.w3schools.com/xml/xpath_intro.asp
click (//*[@class="g"])[1]//a

// Wait 3 seconds so the page can load
wait 3

// Save a screenshot of the web page to top_result.png
snap page to top_result.png

​ 可以看到一些关键词:click、type、wait、snap

click就是点击浏览器web上的某个元素:语法为click [DOM/XPath/Point/Image],click后面可以是xpath路径、name或者id都可以,比较推荐xpath,xpath直接在chrome浏览器的元素选择器上就可以直接获取到。

在这里插入图片描述

type就是给元素赋值,比如要给google搜索的搜索框赋值就可以:type //*[@name="q"] as TAGUI[enter],其中//*[@name=“q”]为搜索框的xpath,TAGUI为要输入的内容,[enter]则是输入完成后回车。语法为:type [DOM/XPath/Point/Image] as [text to type]

wait比较好理解,就是等待多少秒的意思。wait 3就是等待3秒后。

snap是可以保存整页、元素或者区域的屏幕截图。语法为snap [DOM/XPath/Region/Image/page] to [filename]

4.demo示例

​ 下面做个简单的例子:比如我要打开百度网页搜索最近的电影并且点击第一个搜索结果,然后截取当前页面并保存。此时.tag文件就可以这样写

//打开百度首页
https://www.baidu.com/

//搜索最近的电影并回车
type //*[@id="kw"] as 最近的电影[enter]

//点击想要的结果
click //*[@id="2"]/h3/a

//弹出新页面
popup new
    wait 2
    //截取对应div保存到对应路径
    snap //*[@id="content"]/div/div[2] to movies.png

​ 然后我们直接使用命令tagui movie.tag就可以执行了。

​ 最后的执行结果截图:
在这里插入图片描述

5.一些其他的命令

​ 处了刚才用到的click、type之外还有很多命令可以参照官方的文档

Robocorp

​ Robocorp其实和tagui差不多,只不过就是在命令的差距上。Robocorp的扩展也特别丰富,可以借助vscode来编写Robocorp代码,只需在vscode下载Robocorp扩展即可。

1.安装Robocorp Lab

​ Robocorp lab是官方的开发工具,下载地址Developer-first RPA: Python-based technology | Robocorp,直接下载安装即可。

2.使用Robocorp lab

在这里插入图片描述

​ 我们可以create new robot新建一个robot,也可以导入现有的工程。
在这里插入图片描述
​ 取一个名字,然后template选择标准就可以开始创建编写了。
在这里插入图片描述

3.编写demo

​ 同样的我们直接上手来参考文档写一份demo,这样就更能直观的来看程序是怎么运行的。我们和TagUI一样获取最近的电影截图。

​ 1.首先是Settings模块,我们需要在浏览器上操做元素所以用到了RPA.Browser.Selenium依赖

*** Settings ***
Documentation     MY first RPA
Library           RPA.Browser.Selenium

​ 2.接下来来写我们需要执行的任务,就是Task模块

*** Tasks ***
#任务的名称
Get information on the latest movies
    #任务步骤
    Open a browser

​ 3.我们写了一个叫做Open a browser的任务步骤,但是robot识别不到Open a browser怎么定义的,用来干什么,所以这时候需要Keywords模块

*** Keywords ***
#定义Open a browser需要做什么
Open a browser
	#使用浏览器打开网页
    Open Available Browser    https://www.baidu.com/
    #Open Available Browser 是 RPA.Browser.Selenium依赖中缩写好的方法直接引用就好

​ 4.一个完整的robot就包含这三个模块,Settings、Task和Keywords。好的,知道了这种操作逻辑,接下来我们就可以参照文档来把完整的代码示例写好:

*** Settings ***
Documentation   latest movies.
Library         RPA.Browser.Selenium

*** Keywords ***
Open a browser
    Open Available Browser    https://www.baidu.com/
    
*** Keywords ***
Search for recent movies
    Input Text      //*[@id="kw"]       最近的电影
    Submit Form
    
*** Keywords ***
Get screenshots
    Click Element When Visible    css:div.result:nth-child(2) > h3:nth-child(1) > a:nth-child(1)
    ${handles}=    Get Window Handles
    Switch Window    ${handles}[1]
    Wait Until Page Contains Element    css:.panel
    Screenshot   css:.panel    ${CURDIR}${/}output${/}screenshot.png


*** Tasks ***
#任务的名称
Get information on the latest movies
    #任务步骤
    Open a browser
    Search for recent movies
    Get screenshots

在这里插入图片描述

​ 编写完成后点击Run all即可看robot的运行流程
在这里插入图片描述
​ (运行后的结果)

5.其余方法

​ demo里面也包含了很多已经定义好的方法直接引用就行,完整的依赖以及所有方法:Robocorp documentation

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: RPA编辑器的编写需要使用正确的工具和技术。一般来说,首先需要使用RPA软件包,然后编写RPA脚本,并将其部署到RPA系统中。同时,需要使用可视化工具,如UiPath Studio、WorkFusion Studio、Blue Prism等,来帮助开发者更好地理解RPA脚本。 ### 回答2: 编写RPA(Robotic Process Automation)编辑器需要以下几个主要步骤: 1. 界面设计:设计一个直观且用户友好的界面,让用户能够轻松地创建、编辑和管理自动化流程。界面应包括工作区、菜单栏、工具栏、代码编辑器、属性窗口等组成部分。 2. 自动化流程的建模:提供一套丰富的可用动作和操作,允许用户通过拖拽和连接的方式将它们组合成自动化流程。这些操作可以包括打开应用程序、填写表单、点击按钮、提取数据等等。 3. 代码编辑器:为有经验的用户提供一个代码编辑器,让他们可以编写自定义的脚本和逻辑。这个编辑器应具备代码高亮、自动完成、语法检查、调试等功能。 4. 脚本执行和调试:提供一个实时的执行和调试环境,让用户能够测试和验证他们创建的自动化流程。用户可以跟踪每个操作的执行过程,查看变量、日志和错误信息等。 5. 数据传递和变量管理:允许用户在流程之间传递数据和变量,以便在不同的操作之间共享信息。还应提供相关的变量管理功能,如新建、编辑、删除变量等。 6. 插件和扩展性:提供一个插件系统,允许第三方开发者为编辑器添加新的功能和扩展。这样可以满足不同用户的需求,并保持RPA编辑器的灵活性和可扩展性。 7. 导出和代码生成:支持将自动化流程导出为可执行文件或代码。用户可以选择将其部署到本地或云端来执行。 8. 文档和帮助:提供详细的文档和帮助资源,以指导用户使用RPA编辑器。这些资源应包括入门指南、教程、示例代码和常见问题解答等。 编写RPA编辑器需要深入理解RPA的工作原理和常见任务,同时结合良好的界面设计和编程技巧,以提供一个功能强大且易于使用的工具。 ### 回答3: 编写RPA(机器人流程自动化)编辑器需要考虑以下方面: 1. 用户界面设计:为了提供直观且易于使用的编辑体验,应设计一个直观的用户界面。在这个界面上可以添加、删除和编辑各项任务和步骤。 2. 任务和步骤定义:定义不同的任务和步骤。任务是整个流程的高级概述,而步骤是任务的具体操作。在定义任务和步骤时,需要考虑输入、输出和执行顺序。 3. 脚本编辑器:为了实现自动化流程的复杂操作,需要提供一个脚本编辑器来编写和编辑自定义脚本。该编辑器应该具备语法高亮、自动完成和错误提示等功能。 4. 可扩展性:RPA编辑器应该支持扩展,以便用户可以编写和导入第三方插件或脚本。这样可以增加编辑器的功能和灵活性。 5. 流程调试和测试:提供调试和测试功能是非常重要的,以便在编辑过程中能够验证流程的正确性。这包括单步执行、变量监视和结果预览等功能。 6. 项目管理和版本控制:为了方便协作和版本管理,RPA编辑器应该具备项目管理和版本控制功能。这样可以确保团队成员之间的协作效率和代码的可维护性。 7. 文档和帮助:最后,应该提供详细的文档和帮助指南,以帮助用户了解和使用RPA编辑器的各项功能和特性。 综上所述,编写RPA编辑器需要结合用户界面设计、任务和步骤定义、脚本编辑器、可扩展性、流程调试和测试、项目管理和版本控制以及文档和帮助等因素,以便提供一个功能强大且易于使用的编辑器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值