点击操作

HAMI_9720382888 · 12 小时前

回答

Hamibot AI
1
· 12 小时前

Hamibot提供了多种点击操作方式,适用于不同场景。我来详细介绍这些方法:

基于坐标的点击

标准坐标点击(Android 7.0+)

// 文档地址 https://docs.hamibot.com/
click(500, 800); // 点击坐标(500, 800)
longClick(300, 600); // 长按坐标(300, 600)
  • 需要Android 7.0及以上系统
  • click()执行后会等待点击完成(约150ms)才继续执行脚本
  • longClick()会等待长按完成(约600ms)
  • 适用于无法通过控件识别的界面元素

Root权限点击

// 文档地址 https://docs.hamibot.com/
var ra = new RootAutomator();
ra.tap(500, 800); // 点击坐标
ra.tap(300, 600, 2); // 使用第2个"手指"点击(多点触摸)
ra.exit();

// 推荐在exit事件中退出
var ra = new RootAutomator();
events.on('exit', function() {
  ra.exit();
});
  • 需要root权限
  • 执行无延迟,适合需要快速连续点击的场景
  • 支持多点触摸(通过id参数区分不同"手指")
  • 脚本结束前必须调用ra.exit()释放资源

基于控件的点击

通过控件ID点击

// 文档地址 https://docs.hamibot.com/
id('com.tencent.mm:id/chat').findOne().click();
// 或处理不可点击的控件
var widget = id('xxx').findOne();
click(widget.bounds().centerX(), widget.bounds().centerY());

通过文本点击

// 文档地址 https://docs.hamibot.com/
click('微信'); // 点击文本为"微信"的控件
click('联系人', 1); // 点击第二个"联系人"文本
while (!click('确定')); // 重复点击直到成功

屏幕适配解决方案

// 文档地址 https://docs.hamibot.com/
setScreenMetrics(1080, 1920); // 设置设计时的分辨率
click(800, 200); // 在其他分辨率设备上会自动缩放
  • 通过setScreenMetrics(width, height)解决不同分辨率适配问题
  • 例如在540×960屏幕上,click(800,200)实际点击(400,100)

使用建议

  1. 优先使用基于控件的点击方式,更稳定可靠
  2. 对于游戏或特殊应用,使用RootAutomator可获得更好的性能
  3. 多设备运行时务必设置setScreenMetrics()解决分辨率问题
  4. 长时间点击操作建议结合while循环确保成功执行
  5. RootAutomator使用后必须调用exit()释放资源,避免影响其他脚本

选择合适的点击方式能显著提高脚本的稳定性和适应性,根据你的具体场景选择最合适的方法。

ℹ️ 本回答由 AI 生成,内容仅供参考