【解决方案】正则表达式和全局变量在元素编辑中的应用
回答
收藏

【解决方案】正则表达式和全局变量在元素编辑中的应用

白云
2022-03-07 10:38·浏览量:4566
白云
发布于 2022-03-02 16:29更新于 2022-03-07 10:384566浏览

往期解决方案

批量下载网页图片常见场景和解决方案

网页懒加载场景和解决方案

网页相似元素循环常见场景及解决方案

淘宝订单导出解决方案

网页弹窗处理

网页数据获取时需要翻页或下拉


正则表达式


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


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

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

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


全局变量


全局变量作为元素属性


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

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

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


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

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


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


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

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

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


本文帮助中心原文链接:正则表达式和全局变量在元素编辑中的应用

收藏
全部回答1
最新
发布回答
回答