平博国际是什么

06 【UiBot 开发者指南】- 编写源代码

2020-01-07 07:24

[前文][可视化视图]介绍了,UiBot的流程块可以用可视化视图编写,也可以用源代码视图编写。两者各有优缺点。

在前面几章,我们大多数都是采用可视化视图来举例的。在这一章,将讲述如何用源代码的方式,来实现前面已经实现过的功能。

UiBot完全可以只用可视化视图来编写流程块,也就是说,这一章的内容可以跳过不看。

但是,一旦掌握源代码视图,编写的效率会大大提升,建议有一定基础的读者酌情进行学习。

用UiBot Creator打开一个流程块,默认出现的是可视化视图。可视化视图上面有一个左右拨动的开关,把它拨到“源代码”那一边,即可开启源代码视图。

开启源代码视图后,最直观的感受是:1) 不再使用那些整整齐齐排列的方框来显示命令了; 2)右边的属性/变量栏消失了。当然,我们在[前文][源代码视图]中提到,UiBot的可视化视图和源代码视图是完全等价的,两者可以随时互相转换。那么,这些命令、属性和变量,在源代码视图中是如何表现的呢?

如下图中的例子。在可视化视图中,我们可以通过简单的拖放,插入一条“启动IE浏览器”的命令,并设置其属性。而如果用源代码视图来写的话,大致是箭头所指向的内容。

从图中不难看出,“启动IE浏览器”的命令在源代码视图中实际上是对函数WebBrowser.Create的调用;启动IE浏览器时设置的各项属性,都是函数调用中的变量,如about:blank等;命令中使用到的变量,需要用Dim语言定义。

UiBot支持的命令非常丰富,在源代码视图中,这些命令都使用函数来表示。所以,UiBot实际上在UB语言的基础上,内置了一个很大的函数库。其中,最常用的一部分函数是没有命名空间的,如Delay函数;其他函数都是包含一个命名空间的,如前面例子中的WebBrowser.Create函数,其命名空间是WebBrowser。对于有命名空间的函数,大部分都是通过UB语言中的[多模块][多模块]机制,利用一个模块中实现的,所以在使用前需要先用Import语言导入相应的模块,例如WebBrowser.Create函数,在使用前需要写Import WebBrowser。当然,还有几个基础功能,其命名空间是会自动Import的,就不需要我们再做一次Import了,包括Math、Log、Json等。

UiBot支持的全部命令,其文档可以参考这里。在本文中,我们仅列出目前版本中已支持的主要命名空间及其功能概述,供读者参考。如对其中某个命名空间的功能有兴趣,再查阅文档不迟。注意,如[前文][语言参考]所述,UB语言中的各种名字、关键字都不区分大小写,所以下表中列出的各个命名空间,都可以按全大写、全小写或各种大小写混合的方案进行书写。

比如,我们对Mouse下面的功能感兴趣,一种方法是查阅文档,看看这个命名空间下面有哪些函数,每个函数有哪些参数。另外,如果您的手已经放在键盘上了,还有另一种更快捷的方法,如下所述:

我们在[前文][目标选取]中已经学习了,如何使用可视化视图,插入一条“鼠标”分类下的“点击目标”操作,并选择Windows的开始菜单按钮作为目标。

在可视化视图中插入这条命令后,不妨切换到源代码视图,看看这条命令在源代码视图中是如何展现的(为了方便看清,这里把语句折行了,但不影响效果):

第一行,以#符号开头,可以简单的认为是一种特殊的注释,对流程的运行没有影响,可以省掉。其实,在UiBot Creator中用浅灰色显示,也是建议您不要纠结于此。

第一行之后的内容其实是一个函数调用,调用的函数是Mouse.Action,这个函数包含5个参数。但实际上,只有第一个参数是必须的,后面的参数都可以省略。我们不妨把可以省略的内容都去掉,只剩下下图所示的内容:

不难看出,函数只剩下了一个参数,这个参数是一个字典类型,代表了要点击的目标。当然,即便是这样简化,这个字典类型里面的内容也是很难手写出来的。怎么办呢?请注意,在源代码视图的上方,有“元素”、“图像”、“窗口”、“区域”四个按钮,分别还有对应的热键Alt+1、Alt+2、Alt+3、Alt+4(如下图)。由于我们需要用一个界面元素来作为命令的目标,所以,这里点击“元素”按钮。

点击后,UiBot Creator的界面暂时消失,出现了“目标选择器”,也就是红边蓝底的半透明遮罩。这个“目标选择器”的用法,和可视化视图中选取目标的方法一模一样,只需要把鼠标移动到目标上,待遮罩恰好遮住目标的时候,单击鼠标左键即可。如果您对“目标选择器”的操作还不熟悉,请回头复习前文中[目标选取][目标选取]这部分内容。

选择目标之后,会弹出UiBot Creator的“目标编辑器”对话框,如下图所示。我们在[前文][目标编辑]中已经学习过如何使用目标编辑器来修改目标的特征,以避免造成目标的“错选”或“漏选”。这里的使用方法仍然与[前文][目标编辑]一致,仅有一点点细微的差别:右下角的按钮变成了“复制到剪贴板”。按下这个按钮,UiBot Creator会把目标的各个特征重新组合成一个字典类型的值,并把这个值以文本的形式复制到操作系统的剪贴板中。之后,只需要回到源代码视图,把剪贴板里的这段文本粘贴到函数调用Mouse.Action中作为参数,即可完成这条命令的编写。

不妨把这段文本粘贴到记事本里,可以看到,其内容就是描述目标的字典类型的值:

在UiBot中书写一条Mouse.Action()函数调用,并把上述内容粘贴到圆括号里面,即可完成这条命令:

举一反三,我们试试做一点儿更多的操作。比如,把这个开始菜单按钮的图像,保存到一个图像文件里面去。用UiElement.ScreenShot函数可以完成这个任务。这个函数有两个必选的参数,第一个参数仍然是指定界面元素作为目标,第二个参数是要保存的图像文件的路径。也就是说,第一个参数和前面Mouse.Action的参数是完全一样的,把刚才复制到剪贴板的内容直接粘贴到这里就行;第二个参数写一个文件路径即可,比如C:\\temp\\1.png。这里有两个值得注意的细节问题:

回过头看看这段源代码,不难发现,“开始菜单按钮”这个目标被重复使用了两次,不好看。我们稍微改造一下,成为下面的样子:

注: 上述内容经UiBot 官方授权发布,版权归 UiBot 官方所有,如需转载请先联系。

由于简书禁止直接在文章中插入公众号二维码,请点击这里了解添加该公众号的细节。

来源: http://www.joyobox.com
责任编辑: 平博国际是什么


相关阅读:平博国际是什么