【Autojs】求助知道clickable为false时,知道控件信息如何实现定位点击操作?

查看 67|回复 6
作者:Flanders   
使用Autojs在安卓设备自动生成的单击代码id("back_iv").findOne().click() 运行后发现无效,
然后查看控件信息显示
bounds(31,77,47,106)
clickable为false
className为android.widget.ImageView
depth为12 ,
indexInParent为0,
如何实现这种控件的点击操作呢?

之前试了下面2种方法均无效,有没有大神有其他方法可以实现这种控件的点击操作呢?
[color=]// 方法1
[color=]var

[color=]textView
=
[color=]className
(
[color=]"TextView"
).
[color=]text
(
[color=]"人员管理"
).
[color=]findOne
();
[color=]if
(
[color=]textView
) {
   
[color=]var

[color=]bounds
=
[color=]textView
.
[color=]bounds
();
[color=]// 获取控件的坐标
   
[color=]var

[color=]x
=
[color=]bounds
.
[color=]centerX
();
   
[color=]var

[color=]y
=
[color=]bounds
.
[color=]centerY
();
[color=]// 模拟点击
   
[color=]click
(
[color=]x
,
[color=]y
);
}
// 方法2
[color=]widget
=
[color=]id
(
[color=]"back_iv"
).
[color=]findOne
();
[color=]let

[color=]bounds
=
[color=]widget
.
[color=]bounds
();
[color=]let

[color=]centerX
= (
[color=]bounds
.
[color=]left
+
[color=]bounds
.
[color=]right
) /
[color=]2
;
[color=]let

[color=]centerY
= (
[color=]bounds
.
[color=]top
+
[color=]bounds
.
[color=]bottom
) /
[color=]2
;
[color=]click
(
[color=]centerX
,
[color=]centerY
);

控件, 操作

noah88   

[Asm] 纯文本查看 复制代码strClicks("人员管理");
//点击不可点击的文本
function strClicks(x) {
    var x = text(x).findOne(1000);
    if (x) click(x.bounds().centerX(), x.bounds().centerY());
}
iclfn   

Autojs已经去掉了无障碍辅助和图色功能。所以已经不能进行点击之类的操作了
Flanders
OP
  


noah88 发表于 2023-2-15 16:18
[Asm] 纯文本查看 复制代码strClicks("人员管理");
//点击不可点击的文本
[/quote]
:handshake还是感谢谢~虽然没有生效,我先用系统按钮返回往下跑测试了,我再去找找其他方法解决这种控件的点击问题
[mw_shl_code=asm,true]back();
console.log("点击返回主菜单");
noah88   


Flanders 发表于 2023-2-15 16:31
还是感谢谢~虽然没有生效,我先用系统按钮返回往下跑测试了,我再去找找其他方法解决这种控件 ...

没有app无法分析具体原因,反正Auto.js 4.1版本 和 AutoX.js 6.3.6 我用了都可以
Flanders
OP
  


noah88 发表于 2023-2-15 18:24
没有app无法分析具体原因,反正Auto.js 4.1版本 和 AutoX.js 6.3.6 我用了都可以

id("back_iv").findOne().parent().click();  用这条语句 多加了.parent()解决了
noah88   


Flanders 发表于 2023-2-16 11:43
id("back_iv").findOne().parent().click();  用这条语句 多加了.parent()解决了

解决就好,也学到了一招
您需要登录后才可以回帖 登录 | 立即注册