2 回答
TA贡献1911条经验 获得超7个赞
在Auto.js中,可以通过 bounds() 方法获取控件的位置信息,然后通过 click(x, y) 方法在指定的坐标位置进行单击操作。
如果 clickable 属性为 false,可以先获取该控件的位置信息,然后根据控件的位置信息和其它特征(如文本内容、ID等)计算出需要单击的坐标位置,最后调用 click(x, y) 方法实现单击操作。
例如,假设有一个控件,clickable 属性为 false,但是它的文本内容为 "Button",那么可以通过以下代码实现定位并单击该控件:
var btn = text("Button").findOne();
var bounds = btn.bounds();
var x = bounds.centerX();
var y = bounds.centerY();
click(x, y);
这段代码首先通过 text("Button").findOne() 方法获取文本内容为 "Button" 的控件,然后通过 bounds() 方法获取该控件的位置信息。最后,通过 bounds() 方法返回的坐标信息计算出控件中心的坐标,然后调用 click(x, y) 方法实现单击操作。
TA贡献1851条经验 获得超5个赞
根据您提供的控件信息,可以发现该控件的clickable属性为false,因此无法直接使用click方法单击控件。您可以尝试使用press和moveTo方法来模拟手指按下和滑动的动作,实现对该控件的单击操作。代码示例如下:
var x = 39; // 控件中心 x 坐标
var y = 91; // 控件中心 y 坐标
press(x, y, 50); // 模拟按下操作
sleep(50); // 按下后等待一段时间
moveTo(x, y - 10, 50); // 模拟手指滑动
moveTo(x, y, 50); // 模拟手指返回原位置
sleep(50); // 等待一段时间
click(); // 单击操作
您可以将控件中心的坐标值替换为实际的坐标值,该代码模拟的是一个手指单击的过程,通过按下和滑动模拟了手指按下和松开的动作,最后调用click方法实现单击操作
- 2 回答
- 0 关注
- 322 浏览
添加回答
举报