前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式在UI自动化中的秒用

正则表达式在UI自动化中的秒用

作者头像
测试开发囤货
发布2023-11-17 16:30:08
1190
发布2023-11-17 16:30:08
举报
文章被收录于专栏:测试开发囤货测试开发囤货

正则表达式在UI自动化中的秒用

正则表达式是一种用于匹配文本的强大工具,它可以用来搜索、替换和分析文本,也可以应用到「UI自动化中元素的定位中」

接下来先看我们出错的代码,如下

代码语言:javascript
复制
poco("附近 第 1 个标签,共 3 个").click()

Cannot find any visible node by query UIObjectProxy of

代码语言:javascript
复制
    raise PocoNoSuchNodeException(self)
poco.exceptions.PocoNoSuchNodeException: Cannot find any visible node by query UIObjectProxy of "附近 第 1 个标签,共 3 个"

元素信息

代码语言:javascript
复制
Path from root node: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0]
Payload details:
   type :  android.view.View 
   name :  附近
第 1 个标签,共 3 个 
   desc :  附近
第 1 个标签,共 3 个 
   enabled :  True 
   visible :  True 
   resourceId :  b'' 
   zOrders :  {'global': 0, 'local': 0} 
   package :  b'com.ymt360.app.mass' 
   anchorPoint :  [0.5, 0.5] 
   dismissable :  False 
   checkable :  False 
   scale :  [1, 1] 
   boundsInParent :  [0.19722222222222222, 0.05778894472361809] 
   focusable :  True 
   touchable :  True 
   longClickable :  False 
   size :  [0.19722222222222222, 0.05778894472361809] 
   pos :  [0.31574074074074077, 0.08793969849246232] 
   focused :  False 
   checked :  False 
   editalbe :  False 
   selected :  True 
   scrollable :  False 

实现方式

附近[\s\S].*

匹配以附近为开头的所有文字

代码语言:javascript
复制
poco(nameMatches="附近[\s\S].*").click()

注意事项

在使用.来匹配任意字符时,需要注意以下几点:

  1. .不能匹配换行符,如果要匹配换行符,可以使用[\s\S]代替.
  2. .只能匹配一个字符,如果要匹配多个字符,需要使用*+?等符号。
  3. .是一个特殊符号,如果要匹配.本身,需要使用\.进行转义。

容易出错的地方和技巧

  1. 贪婪匹配 默认情况下,正则表达式使用贪婪匹配,可能导致匹配结果不符合预期,需要使用非贪婪匹配(在量词后面加?)来避免这种问题。
  2. 忽略大小写匹配 在匹配时需要考虑大小写问题,可以使用re.IGNORECASE标志或者在表达式中使用(?i)进行忽略大小写匹配。
  3. 字符集中的连字符 在字符集中使用连字符时要注意,如果想要匹配连字符本身,需要进行转义,否则会被解释为范围。
  4. 特殊字符的转义 正则表达式中的特殊字符如.*+等需要进行转义,否则可能导致意想不到的匹配结果。
  5. 贪婪匹配时的性能问题 贪婪匹配可能导致性能问题,尤其是在处理大量数据时,需要注意匹配的效率。

结论

总之,正则表达式是一项强大的工具,但也需要谨慎使用。掌握好正则表达式的使用技巧和注意事项,能够让我们更高效地处理文本数据,提高工作效率。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正则表达式在UI自动化中的秒用
    • Cannot find any visible node by query UIObjectProxy of
      • 元素信息
        • 实现方式
          • 注意事项
            • 容易出错的地方和技巧
              • 结论
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档