Autojs微信研究:多次测试发现偶尔出现调用了click()返回了true,但实际并未点击成功的情况,例如“通讯录”(已解决)

申明本人使用的autojs 4.1.1版本和pro7.0.4-1版本

目录

问题

解决方法

方案一:循环点击直到成功局部代码

方案二:连续延迟点击3次局部代码

总结


问题

在雷电模拟器上进行多次测试,微信部分按钮例如“通讯录”,调用了click(v.centerX(), v.centerY())并返回了true,实际并未点击成功。

解决方法

  • 我采用的解决方法就是连续延迟点击3次,也就是方案二。
  • myClick是我自己封装的按钮点击函数。

方案一:循环点击直到成功局部代码

while(!myClick("通讯录")){
    ...
}

不建议用方案一,因为这样做,偶尔会出现点不成功的问题,虽然点击后函数返回了true。

方案二:连续延迟点击3次局部代码

if(myClick("通讯录")){
    sleep(500);
    myClick("通讯录"); //保证绝对能点击进入通讯录界面
    sleep(500);
    myClick("通讯录");
    toastLog("检查并成功进入通讯录主界面");
    break;
}

 

使用了该方法我测试了几十次,都能成功点击。

总结

对微信进行操作最重要的就是测试,绝大部分的功能都可以使用逻辑解决。最近比价忙,项目第一阶段早开发完了,最后效果我后面发帖出来。

 建议还是用auto的4.1.1版本开发,pro 7.0.4-1版本bug太多了不稳定。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,以下是实现所需功能的示例代码: testSearch.vue: ```html <template> <view> <button @click="navigateToSearchNav">跳转到搜索页面</button> <text>{{content}}</text> </view> </template> <script> export default { data() { return { content: '这是testSearch页面的内容' } }, methods: { navigateToSearchNav() { uni.navigateTo({ url: '/pages/searchNav/searchNav' }) }, refreshContent() { this.content = '这是刷新后的内容' } }, onShow() { // 监听页面显示,如果需要刷新则调用refreshContent方法 if (this.$mp.page.data.needRefresh) { this.refreshContent() // 刷新后要将needRefresh标记设为false,避免重复刷新 this.$mp.page.setData({ needRefresh: false }) } } } </script> ``` searchNav.vue: ```html <template> <view> <text>这是搜索页面</text> </view> </template> <script> export default { onUnload() { // 页面卸载时将testSearch页面的needRefresh标记设为true,表示需要刷新 uni.navigateBack({ delta: 1, success: () => { const pages = getCurrentPages() const testSearchPage = pages[pages.length - 1] testSearchPage.setData({ needRefresh: true }) } }) } } </script> ``` 在testSearch页面中,我们定义了一个refreshContent方法用于刷新页面内容,当页面显示时判断是否需要刷新,如果需要则调用此方法。在searchNav页面中,我们监听页面卸载事件,当页面即将返回时,先通过uni.navigateBack返回testSearch页面,然后将testSearch页面的needRefresh标记设为true,表示需要刷新。由于uni.navigateBack是异步的,所以需要在success回调中获取testSearch页面并进行标记操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PYB3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值