正则表达式和全局变量在元素编辑中的应用

正则表达式

元素编辑中,如何限定属性不包含某一段字符串?

如果有某个复选框元素的的勾选与否取决于其某一个属性,勾选时属性为 CBX_active_18l33c8,不勾选时属性为 CBX_18l33c8,如何判断这个复选框是否已经勾选?

  • 方案一:捕捉并编辑元素时不勾选这个属性,使得在勾选和不勾选是都可以校验到元素,用获取元素属性指令获取这个属性的文本,用内置的 If 指令判断是否包含 active

  • 方案二:影刀的元素编辑中所有属性都支持通配符和正则表达式,正则表达式可匹配(不)包含某个子字符串的字符串,语法如下:^((?!active).)*$,意思是匹配所有不包含 active 的字符串。如果要同时排除多个关键字,语法为 ^((?!disabled|prev|diff).)*$,意思是匹配所有同时不包含 disabledprevdiff 的字符串,即在该属性中不能包含三个中任意一个。

全局变量

全局变量作为元素属性

关于全局变量,参考 https://www.winrobot360.com/doc/功能文档/应用编辑相关/全局变量.html

新建好全局变量后,编辑元素时点击属性值后面的 fx,选择全局变量。

这样这个元素的属性即为这个全局变量当前的值。校验时,需要先设置该全局变量默认值,或暂时将全局变量属性条件改为纯文本。


流程执行逻辑:获取已打开的网页对象 -> 设置全局变量按钮名称的值为“新闻” -> 点击文本属性设置为变量“按钮名称”的元素“链接_新闻” -> 设置全局变量按钮名称的值为“学术” -> 点击文本属性设置为变量“按钮名称”的元素

流程执行效果:在已经在 Chrome 打开的百度首页分别打开新闻和学术板块。

元素编辑中如何将全局变量和正则表达式配合使用

直接将正则表达式(通配表达式)的内容设置给全局变量,选择全局变量后匹配方式选择正则(通配符)。

流程执行逻辑:获取已打开的网页对象 -> 设置全局变量按钮名称的值为(直|新) -> 循环“链接_新闻”在网页上限定到的所有元素,保存在 web_loop_element 中 -> 分别点击 web_loop_element

流程执行效果:在已经在 Chrome 打开的百度首页分别点击新闻和直播板块。

问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""