注册时间
最后登录
新帖
发布在 技术交流 阅读更多

在华为荣耀10手机上运行了一段时间无障碍后,能获取控件但无法点击,重启手机后才正常
比如以下的代码,重启后就正常了:

// 在微信页面
let plusButton = id("com.tencent.mm:id/plus_icon").findOne(2000);
if(!plusButton){
    // 如果微信首页部分上拉可能导致搜索按钮id变动
    plusButton =  id("com.tencent.mm:id/jga").findOne(1000);
}

console.log(plusButton); // 该对象存在,有输出

console.log(click(plusButton.bounds().centerX(),plusButton.bounds().centerY())); // 点击没有效果,并且返回false  (已经开启了手机的点击显示没看到有点击)


back(); // 返回键且正常,可以生效

可能是什么原因呢?有遇到类似问题的同学吗?

发布在 资源交流 阅读更多

谢谢👍
我后来自己琢磨出来,就是你说的原因,我把安卓开发者里边的“显示点按操作反馈”和“指针位置”开起来后一看就发现这个问题了。
推荐后续开发的同事都打开这个😊

发布在 资源交流 阅读更多

@db 点击后会弹窗提示是否打开拼多多吗?我各种测试发现都不行。 😢

发布在 资源交流 阅读更多

小米手机miui系统运行以下代码,已经确认是能定位到消息中的小程序链接并点击的,但是点击就是没有生效,只有长按longClick会有效果?这个可能是什么问题呢?有大佬可以尝试下看有什么解决思路吗?
发现小程序链接 const sendUrl = '#小程序://拼多多/2qrbrpR2aF24qVw' 无法点击,但是 换成 const sendUrl = 'https://www.baidu.com' 就可以点击?难道是微信做了什么判断限制?还有什么思路可以自动打开小程序吗?

/**
 * 点击父级按钮
 * @param {*} item 
 */
function clickParent( item ){
    let parent = item.parent();
    for(let i = 0;i < 10;i++){
        console.log(parent)
        if(parent.clickable() || true){
            parent.click()
            click(parent.bounds().centerX(),parent.bounds().centerY()) 
            break;
        }else{
            parent = parent.parent()
        }
    }
}


launchApp("微信");
sleep(1000)
// 点击右上角更多加号按钮
let clickBtn =  id("com.tencent.mm:id/meb").findOne(2000)
if(clickBtn){
    console.log('检测到搜索按钮');
    click(clickBtn.bounds().centerX(),clickBtn.bounds().centerY())
    sleep(500)
    setText("文件传输助手")
    sleep(500)

    // 点击'文件传输助手'功能
    let fileTransfer = id("com.tencent.mm:id/odf").text('文件传输助手').findOne()
    clickParent(fileTransfer)
    sleep(500)

    const sendUrl = '#小程序://拼多多/2qrbrpR2aF24qVw'
    setText(sendUrl)
    click('发送')
    sleep(500)



    // 获取到发出去的链接消息控件,明确是可以获取到的
    let message = text(sendUrl).findOne()       


    // ------------------  以上代码都是执行正常的,以下代码点击不生效
    message.click()  // 明确有点击到,也验证了明确返回true,就是没有反应,并不会跳转百度

    sleep(1000);  

    click(message.bounds().centerX(),message.bounds().centerY()) ;  // 同样有点击到,但没有反应

    sleep(1000);  

    press(message.bounds().centerX(),message.bounds().centerY(),1000);  // 同样有点击到,但没有反应

    sleep(1000);  

    message.longClick() ;   // 长按有效果,会弹出菜单

}
发布在 bug、问题、建议 阅读更多

为什么不能呢?不是正常的打开微信,点击按钮这些都可以吗?比如以下代码是可以正常运行的

/**
 * 点击父级按钮
 * @param {*} item 
 */
function clickParent( item ){
    let parent = item.parent();
    for(let i = 0;i < 10;i++){
        console.log(parent)
        if(parent.clickable() || true){
            parent.click()
            click(parent.bounds().centerX(),parent.bounds().centerY()) 
            break;
        }else{
            parent = parent.parent()
        }
    }
}


launchApp("微信");
sleep(1000)
// 点击右上角更多加号按钮
let clickBtn =  id("com.tencent.mm:id/meb").findOne(2000)
if(clickBtn){
        console.log('检测到搜索按钮');
        click(clickBtn.bounds().centerX(),clickBtn.bounds().centerY())
        sleep(500)
        setText("文件传输助手")
        sleep(500)
        
        // 点击'文件传输助手'功能
        let fileTransfer = id("com.tencent.mm:id/odf").text('文件传输助手').findOne()
        clickParent(fileTransfer)
        sleep(500)
        setText('来自Autox.js的操作,hello!')
        click('发送')
}