使用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

### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值