大家好呀!最近博主因为工作和生活中的一些琐事,脑袋里蹦出了一个新想法——想写一个自动化脚本来帮我搞定一些重复又繁琐的操作。说起这个脚本的初衷,还得从抢大麦演唱会票说起。

大家都知道,现在抢演唱会票简直就像打仗一样,手速稍微慢一点,票就没了。我原本想在网上找个现成的脚本,结果找到一个基于元素定位的方法的脚本。不过说实话,这脚本虽然看似有效,但速度真心不够快,而且大麦现在大部分的票都不在PC端卖了,这让我有点头疼。

既然PC端不行,那我就把目标转向了手机端。可惜我对于安卓开发真的是一窍不通,只能另辟蹊径了。在翻遍了GitHub和各种资料后,我发现了一个可以通过电脑使用ADB来操纵手机的方法。这简直就像是为我量身定制的一样!

不过,在实际操作的过程中,我也遇到了一些麻烦。比如,电脑得一直开着机,而且我还不能远程操作脚本。更头疼的是,安卓11以下的手机还得通过USB线连着电脑才能用ADB。虽然安卓11以上的手机可以无线调试,但好手机价格都不菲,我这经费有限啊!

正当我苦恼的时候,突然想到了我手上那个腾讯云服务器。我心想,能不能把手机和服务器连接起来,然后用ADB来操纵手机呢?这样一来,不就可以随时随地操作手机了吗?

可是,这中间还有几个难点需要解决。首先,无线调试需要手机和服务器在同一个局域网内。这可真是个大问题啊!不过,好在我找到了一个神器——ZeroTier。它就像一个魔法工具,可以让手机和服务器在不同的地方也能组成一个虚拟的局域网。这样,无线调试的问题就迎刃而解了!

接下来,我又遇到了一个问题:怎么知道运行命令的结果是不是和我预想的一样呢?总不能每次都手动去检查吧?这时,我想起了OpenCV和Python这对黄金搭档。每次执行命令前后,我都让手机截个图,然后用OpenCV比较两张图片的相似度。如果相似度低于某个阈值(比如20),那就说明命令执行失败了。这样,我就能轻松知道命令是否执行成功了。

最后,我还想在远程手机上操作脚本的启动和停止。这个其实不难,因为我之前写过一个项目,所以在那个项目的jar包里加个接口就行了。只要我登录我的网站,点击一下按钮,服务器就会自动调用目标脚本开始执行。这样,我就可以随时随地控制脚本的运行了!

哈哈,经过一番折腾,我的自动化脚本终于可以正常运作了!不仅解决了我的抢票问题,还让我对自动化操作有了更深入的了解。希望这次的分享能给大家带来一些启发和帮助,一起探索更多自动化脚本的奇妙之旅吧!


休闲、娱乐、爱生活