按键精灵安卓版 tap、touch命令 不好用的解决办法!

用按键精灵手机版写脚本来操作新浪微博APP,在关注列表页自动取消关注,代码如下:

If x > -1 And y > -1 Then

  delay 1000
  tap x,y

  delay 1000
End If

列表页面里的“√已关注”按钮用找色找到坐标,用tap或touch,touchdown和touchup组合命令怎么也点了,界面没反应。但录制的脚本是可以的,录制的脚本使用的是TouchDownEvent和TouchUpEvent组合,这两个命令竟然没在官方的手册里。

于是将TouchDownEvent和TouchUpEvent组合来替换Tap命令,代码如下,发现还是不行。

If x > -1 And y > -1 Then 
  Delay 2000
  TouchDownEvent x, y, 0
  Delay 1000
  TouchUpEvent 0
  Delay 1000
End If

研究录制的代码,发现它还用了TickCount()命令。。。于是照抄,代码变成了这样:

If x > -1 And y > -1 Then 
  Delay 2000
  TouchDownEvent x, y, 0
  Delay 1000-TickCount()
  TouchUpEvent 0
  Delay 1000
End If

发现代码依然跑起来,界面无反应?我都是直接抄了录制后的代码,为什么还是不行!

只剩坐标值的问题了,用抓抓工具直接取“√已关注”中央部分的坐标值后带入x,y,发现按钮是有反应的!

输出一下原代码找色找到的坐标,发现焦点落在了“√已关注”按钮的对勾上左边一角顶端,已靠近按钮的边缘,但是该坐标是落在按钮上的!

试着重新用抓抓工具找点,把找到的坐标点调整到靠近按钮中央

调试通过。。。

实验中还发现,去掉第二行Delay 2000,或者把2000改为别的数值,也有一定几率无法点到“√已关注”;去掉TickCount(),一定无法点到“√已关注”,查手册TickCount()返回的是代码运行的时间数值,按理说直接Delay一个合理的数值就OK,但是改成任何延时就是无法点击,令人费解。

 

posted @ 2019-05-20 20:21  小太阳520  阅读(5516)  评论(0编辑  收藏  举报