xpath定位不到元素,试试这招?

最近在做一个自动化测试项目,遇到公众号元素定位无法找到的情况,通过uiautomator查看元素,按钮有text值,试了很多方法,通过xpath的@text方法没找到,后来也通过层级也没找到,而且找元素的等待时间我也都设置的30s,姑且认为我的xpath写法是正确的,总之就是没找到的这个元素


640?wx_fmt=jpeg


如果是原生Android app,不涉及H5,目前我还从未遇到@text找不到元素的情况,但这里因为是公众号里面的元素,属于在微信APP里面的H5界面,可能也确实会因为一些我目前知识面所未触及的情况找不到元素

到这里,其实上面我已经耽误了很长时间来解决这个问题了,按照我之前的思路,从uiautomator查看元素没一次试验成功过
后来,经多方了解,发现了一个简单好用的方法,几秒钟就可以快速定位元素,不失为一种你尝试过很多方法仍旧解决不了的救命稻草
1、第一步复制H5页面链接,用谷歌浏览器打开,控制台点击手机模式,我这里只是为了大图演示,就不切换手机模式了

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是通过Xpath元素定位定位到某个位置的方法[^1][^2]: 1. 使用绝对路径定位:可以通过指定元素的完整路径来定位元素。例如,要定位根路径下id为'kw'的元素的父级元素,可以使用以下Xpath表达式: ```xpath /元素名称[@属性名='属性值']/.. ``` 其中,元素名称是要定位元素的标签名,属性名和属性值是要定位元素的属性名和属性值。例如,要定位根路径下id为'kw'的元素的父级元素,可以使用以下Xpath表达式: ```xpath /html/body/div[@id='kw']/.. ``` 2. 使用相对路径定位:可以通过指定元素与当前节点的关系来定位元素。例如,要定位当前节点的父级元素,可以使用以下Xpath表达式: ```xpath ../ ``` 要定位当前节点的子级元素,可以使用以下Xpath表达式: ```xpath ./元素名称[@属性名='属性值'] ``` 其中,元素名称是要定位元素的标签名,属性名和属性值是要定位元素的属性名和属性值。例如,要定位当前节点的子级元素中id为'kw'的元素,可以使用以下Xpath表达式: ```xpath ./div[@id='kw'] ``` 3. 使用定位:可以通过指定元素与当前节点的父辈、兄弟或子辈节点的关系来定位元素。例如,要定位当前节点的父级元素,可以使用以下Xpath表达式: ```xpath parent::元素名称 ``` 要定位当前节点的兄弟元素,可以使用以下Xpath表达式: ```xpath preceding-sibling::元素名称[@属性名='属性值'] following-sibling::元素名称[@属性名='属性值'] ``` 要定位当前节点的子级元素,可以使用以下Xpath表达式: ```xpath child::元素名称[@属性名='属性值'] ``` 其中,元素名称是要定位元素的标签名,属性名和属性值是要定位元素的属性名和属性值。例如,要定位当前节点的父级元素,可以使用以下Xpath表达式: ```xpath parent::div ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值