c#发展

首页 » 常识 » 预防 » 云扩研习社RPA高级开发技巧下
TUhjnbcbe - 2023/10/6 18:40:00

使用场景:目前在编辑器中已内置云扩自研浏览器,主要用于需要抓取浏览器请求的场景;比如浏览器请求返回中有一些通过界面自动化无法获取的字段,或者比界面自动化更高效的获取目标数据;

抓包配置:

配置文件位置:

文件配置介绍:

1)Encoobrowser.exe.config

2)Cer文件夹template.json

对每一个network请求匹配,key值配到后生成带value前缀的文件,保存在PathForStoringCacheFiles下;保存的文件会根据当前日期进行文件夹分割。文件名称为规则匹配值毫秒级时间戳.json文件,如下图所示:

文件内容格式如下:

文件格式为request和response区分,其中request字段已经做了序列化处理,而response需要手动序列化。

编写代码

支持在流程中编写代码片段或导入外部的代码。支持C#,Python和PowerShell。当组件或者简单的表达式无法满足业务需求时,可以使用自定义代码类组件完成一些复杂的功能。

C#代码

C#代码与编辑器的表达式是高度契合的。C#代码包含一个执行C#代码组件和一个C#代码文件。

这里介绍一下几种使用方式:

从左侧组件库中找到执行C#代码组件并拖拽至设计面板,默认会产生一个隐藏的cs代码文件.code\CSharp\执行CSharp代码.cs

当编辑代码时,会把隐藏的cs代码文件.code\CSharp\执行CSharp代码.cs包含进项目中。

也可以在项目名上右键-导入文件,导入一个cs文件,然后将该cs文件拖拽入编辑器,会自动生成执行C#代码组件。

注意:

执行CSharp代码组件中默认有一个Run()方法,这个Run方法是代码执行的入口,不能更改。在C#代码中可以直接使用流程定义的变量和参数,也可以直接给流程定义的变量和参数赋值。

Python代码

流程中也可以使用python进行代码编写。Python相关的组件在组件库-代码编程-Python这个目录中。注意,使用执行Python代码组件的时候,该组件必须要在Python环境这个组件的范围内。

PowerShell

如果你对PowerShell非常熟悉,也可以使用执行PowerShell组件。

管理外部代码

Nuget代码市场

在流程中我们可以下载Nuget包,从而使用第三方的类库。

私有代码市场

我们可以通过管理市场来创建私有的代码市场,这样我们可以通过这个私有市场共享和使用我们自己开发的Nuget包。

外部代码的Package更新

当我们创建了私有的代码市场以后,我们可以把自己的nuget包复制到市场上。

假如设置的是本地路径,就可以直接把nuget包放到这个路径上。

假如设置的是网络路径,也可以把nuget复制到网络路径上。

Nuget包的版本不是由编辑器控制的,编辑器中可以看到的包的版本取决于私有市上有多少这个包的不同版本的nuget包。比如在设置的本地路径上有ESB.1.0.0.nupkg和ESB.1.0.1.nupkg两个包,那么在代码市场上就可以下载安装这两个包。

Excel高级技巧

云扩支持用同一批组件操作WPS和EXCEL,无需区分。

执行宏

Excel宏是一些指令集,每个人在制作表格的过程中也许会有多种功能,而一直重复做的话会非常繁琐,因此就可以通过宏录制来节约时间简化步骤,对于提高工作效率是非常有好处的。对于经常使用excel表格来工作的话,能有效地提高工作,让自己变得更轻松。

一些Excel组件里未曾覆盖到的功能,比如调整单元格的宽度,高度就可以由执行宏组件完成,参考如下示例:

1.准备

在打开/新建组件中开启宏功能:

打开Excel,在Excel选项-信任中心,开启宏权限:

2.生成宏代码

宏代码的使用可以自己书写,亦可有Excel里录制宏功能完成,如图:

录制完成后,可以点击查看宏,然后找到里面的宏代码

可以把里面代码复制出来,放到一个txt文件钟,如:VBA.txt按照步骤可以生成可执行的宏代码文件,里面一些参数可以自己定义。

3.编辑执行宏组件

如上图示,定义了3个参数,单元格地址,列宽和行高来更自由的调整单元格。

最后使用执行宏组件,填入各种参数,就可以正确执行:

自动填充

自动填充组件,等同于在Excel选中一个单元格,下拉拖拽的过程;

如果EXCEL内置有大量的序列(星期、日期、序列等),通过填充功能可以方便、快捷地输入这些内置序列。

设置单元格格式

这个组件包括日常涉及到数值,货币,日期,时间等等,用户体验几乎和OfficeExcel设置单元格效果一样。

复制粘贴

可以跨工作表或者当前工作表内进行区域复制粘贴,等同于在OfficeExcel选中一块区域复制粘贴效果。

分列

分列就是将一列的数据按照既定分割规则填充到指定区域;

网页操作高级技巧

如何获取页面元素的特定属性

可以使用获取元素属性值组件来获取元素属性,支持自定义元素属性,只要目标元素上有对应的属性名称,都可以获取;

在浏览器中按F12快捷键,找到对应的目标元素节点,查看元素节点上是否有想要的属性值,比如索引、链接、title、以及其他属性都可以直接使用获取元素属性获取。

如何批量获取元素属性

可以通过循环和获取文本、获取元素属性值等组件获取。也可以使用获取结构化数据组件获取,使用自定义规则获取可以批量获取指定节点上的节点属性。

如何滚动页面

可以通过鼠标滚动(中键)组件或发送快捷键PgDn来滚动页面。

如何操作名称相同的标签页

打开多个同名标签页定位元素时会默认在第一个标签页定位,如果需要定位到其他标签页元素,可以在选择器中不适用“Title”定位,改为使用“URL”或其他关键字进行定位。

如何操作日期类元素

通常日期选择的元素均支持以标准格式输入文本,可以使用“输入文本”组件尝试输入“-05-13”,“/05/13”或“13-05-”等格式输入;如果页面不支持输入文本,可通过组件“设置Web元素属性值”直接对页面上日期元素的属性进行设置;

如上述方法均无效,可使用“点击”组件点击页面上的需要使用的日期:

可以使用变量来“SInfo”中的属性如{{String1}}来动态设置自己需要选择的时间。

如何判断网页是否打开

首先网站可以通过JS的方法“document.readyState”等于“

1
查看完整版本: 云扩研习社RPA高级开发技巧下