用按鍵精靈手機版寫腳本來操作新浪微博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,但是改成任何延時就是無法點擊,令人費解。