百度移动点击 | 基于操控原生Android控件的移动百度点击器初尝试

众所周知,本渣最近从0基础开始,学习群控技术,争取早日实现日发外链300万,迈出成为直推大佬的一小步。

之前在文章中,有对比过各类主流Android自动化语言的区别:

引流脚本 | 按键精灵、Auto.js、EasyClick、Airtest的区别与对比

原本打算直接学Easyclick,但因Autojs文档看上去更简单一些,于是先整Autojs了。

无论Autojs还是Easyclick,都需要JavaScript来开发脚本,但本渣不会。

于是本渣用一天学习JavaScript的基础知识,又用一天学习Autojs文档,今天花了3小时,做出了第一个小项目,就是这个百度移动点击,对Android自动化有了初步的理解。

01

原理解析

开发环境

  • 编辑器:VsCode
  • 脚本软件:Autojs 7.0.1 Pro
  • 开发语言:JavaScript
  • Android设备:红米(真机无root,没用模拟器)
  • Android版本:6.0

点击目标识别

在PC端,通常是先遍历所有搜索结果的DIV,并匹配是否包含点击目标的主域名或熊掌号名称

如果包含,则提取对应的id,操控浏览器滚动到能够展现id的位置,在触发点击。

而移动端识别点击目标,和PC端差不多,但仅通过Autojs,拿不到Android原生浏览器里展示的Html

Autojs是通过Android UI控件识别点击目标

逻辑是,遍历当前界面所有的Android UI控件,并提取text属性,如果包含目标域名,则说明当前页面包含点击目标。

然后通过text=”gogochuang.com”定位目标,click()来触发点击

换IP

安装一个vpn app,点击换ip即可。

由于存在vpn质量不佳,经常出现ip速度慢打不开网页的情况,需要添加异常处理的代码。

以上可实现粗糙的移动端点击,百度统计能够接受正常数据。

02

当前硬件环境无法完成的部分

坐标点击

目前是通过UI控件点击,点击触发永远是这个位置

这就与真实用户的行为不符了,解决的办法也简单。

  • 返回text=”www.gogochuang.com”控件左上角的x/y坐标
  • 获取屏幕宽度,假设1080px

然后可以,在x向右1080/3,y向上200px的范围内,随机点击一个位置。

But,Autojs坐标点击的方法,只能在Android 7.0以上的版本有效,我的手机是Android 6.0的,无法使用这个方法

点击分页目标

目前,只能点击第一页的目标,如果第一页没有目标,下滑到底部,点击“下一页”

这个功能也十分简单,但还是版本问题,Android 7.0的手机,才能使用autojs中滑动的方法

摸除浏览器APP数据

浏览器APP每次启动,还保留上一次访问baidu的cookie,保险的话,应该清空数据。

这涉及到Android底层的操作,可以使用一些改机软件来完成。

But,需要手机root+xposed框架,我这个真机root就有些麻烦了。

安卓模拟器

以上问题,用一个Android 7.0版本,已root的手机,均可解决。

市面上众多模拟器,已经支持这个环境。

But,坑爹的来了,Autojs真机能连上,但模拟器连不上。

03

终极解决办法

  • 找台Android 7.0+已Root的真机
  • 改用Easyclick(真机、模拟器都能连)
  • 租支持Android 7.0+已Root的云控,远程操控

我决定把autojs文档剩下的部分学完,就转投Easyclick门下了。

教程

一个从不起眼信息挖掘出商机投广告做淘客

2020-11-13 16:38:29

教程

我靠“差评”月入过万,却坐了牢

2020-11-13 21:06:01

⚠️
水源智库上的部份代码,资源及教程来源于互联网,仅供网友学习交流,版权归作者所有。所有项目皆为分享思路,仅供参考!
若您的权利被侵害,请联系站长 QQ: 或 点击客服私信反馈,我们将第一时间处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧