[交流贴]蚂蚁森林收能量基于控件的操作

刚接触这一块的东西(一天),很多概念、术语不是很清晰,有些问题可能很蠢,思路方向不对,希望大神们不吝指教,谢谢啦!
目前思路是这样的:

  • step1:进入蚂蚁森林主页面,这个通过intent实现,没有问题
  • step2:点击“查看更多好友”来遍历所有好友(这里没有想好怎么判断有没有能量收,如果通过图片找颜色感觉性能反而还不如直接遍历所有好友)。这里的问题是,可以通过不断点击idContains('J_rank_list_more')来加载更多,但是到没有更多了的时候,这个控件竟然没有能标识的值,所以不知道怎么通过控件判断已经拉倒底了。我现在的做法很土鳖:swipe模拟下拉,sleep一会儿,判断idContains('J_rank_list_more').findOnce()来知道已经到底了。因为下拉如果能触发加载,这个控件是会消失的。
  • step3:定位好友,目前是通过好友历史能量值来定位好友,这个控件的unique属性是desc以kg结尾。但是现在无法点击。不确认是用错了,还是其他原因,望指教。通过click(x,y)发现倒是能点进去,但是又发现个别控件会出现在屏幕外的……
descEndWith('kg').clickable().find().each(function(friend){
    friend.click();
    sleep(500);
    collect();
    back();
});
  • step4:收能量,通过idContains('protective_cover')找到的也无法点击,手工拿bounds,然后click(b.centerX,b,centerY)发现位置千奇百怪……这块目前还没有好的思路,一种土鳖的办法就是定义一个矩阵范围,两层for循环遍历去点了。但是还是想要看看大家有什么好的思路没有。

综上,我感觉我主要的问题还是无法判断一个需求基于控件来做是否可行,如果基于控件了,应该怎么定位控件并确定这个控件的行为。
所以这里特别希望和我一样的新手,或者大神们一起交流一下心得。

开发者

@zyxing[交流贴]蚂蚁森林收能量基于控件的操作 中说:

不要沉啊

论坛里有一些成熟的脚本,你可以看看==

试试用层模式来选择点击的控件

  • 5
    帖子
  • 2181
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待