UiBot目标操作时,利用通配符“*”可以快速解决部分动态目标问题
2021-12-06 11:27 作者:rainvale办公RPA | 我要投稿
在初级版教程中的“有目标命令”一章中简单介绍过通配符 *
,这个通配符代表“匹配任意内容”,下面我们来看一个具体的应用案例。
以下为某企业员工管理系统的登录页面,开发人员将用户名输入框作为UiBot的“在目标中输入”命令的目标,但每次重新打开登录页面该目标就会失效,UiBot会出现“元素未找到”的错误。

通过对该网页调试发现,用户名输入框的ID号的后半部分是随机生成,每次加载页面都会重新生成一个新的ID号,下图是页面进行三次刷新后输入框ID的变化:

从上图可以看到元素的ID号后面的数字是动态变化的,在UiBot中该输入框的元素特征是:

UiBot中的元素特征记录的ID号是固定的,所以页面刷新后UiBot的元素特征也就失效了。那么我们用通配符替换掉发生变化的部分即可。如图:

解决该问题的方法还有很多,我们再介绍一种方法,该方法可以绕过动态ID问题。具体操作如下:
我们用浏览器直接打开该页面,在用户名输入框上点击“右键->检查”进入到调试模式,直接双击该元素的id属性并按DELETE键删除,如图:

接下来我们只需要用UiBot重新选择该目标即可生成新的元素特征,由于该元素没有了ID属性,UiBot会自动寻找其他稳定的选择器方案来构建元素特征,成功的绕过了不稳定因素。