2 回答

TA貢獻1911條經(jīng)驗 獲得超7個贊
在Auto.js中,可以通過 bounds() 方法獲取控件的位置信息,然后通過 click(x, y) 方法在指定的坐標位置進行單擊操作。
如果 clickable 屬性為 false,可以先獲取該控件的位置信息,然后根據(jù)控件的位置信息和其它特征(如文本內(nèi)容、ID等)計算出需要單擊的坐標位置,最后調(diào)用 click(x, y) 方法實現(xiàn)單擊操作。
例如,假設(shè)有一個控件,clickable 屬性為 false,但是它的文本內(nèi)容為 "Button",那么可以通過以下代碼實現(xiàn)定位并單擊該控件:
var btn = text("Button").findOne();
var bounds = btn.bounds();
var x = bounds.centerX();
var y = bounds.centerY();
click(x, y);
這段代碼首先通過 text("Button").findOne() 方法獲取文本內(nèi)容為 "Button" 的控件,然后通過 bounds() 方法獲取該控件的位置信息。最后,通過 bounds() 方法返回的坐標信息計算出控件中心的坐標,然后調(diào)用 click(x, y) 方法實現(xiàn)單擊操作。

TA貢獻1851條經(jīng)驗 獲得超5個贊
根據(jù)您提供的控件信息,可以發(fā)現(xiàn)該控件的clickable屬性為false,因此無法直接使用click方法單擊控件。您可以嘗試使用press和moveTo方法來模擬手指按下和滑動的動作,實現(xiàn)對該控件的單擊操作。代碼示例如下:
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(); // 單擊操作
您可以將控件中心的坐標值替換為實際的坐標值,該代碼模擬的是一個手指單擊的過程,通過按下和滑動模擬了手指按下和松開的動作,最后調(diào)用click方法實現(xiàn)單擊操作
- 2 回答
- 0 關(guān)注
- 436 瀏覽
添加回答
舉報