谈恋爱要做什么事?
除了用心之外,每天早安晚安必然是少不了的。但是每天都发免不了会忘, 为了避免遗忘,引起不必要的尴尬,我们可以做个自动化脚本来做这件事。

1 auto.js 是什么?

Auto.JS是Android平台上的JavaScript自动化工具。
它的本质是可执行自己编写的简易Javascript脚本的,尤其可以在开启“无障碍模式”的情况下对其他App进行一些操作的一个Android App,便于进行自动化操作。官网:https://github.com/hyb1996/Auto.js
官网有完善的安装教程,大家可以按照教程配置。只要安卓7.0就可以了,不需要root.

2 auto.js 能做什么?

  1. 编写自动化脚本 ,蚂蚁森林自动收能量
  2. 双十一淘宝自动抢购
  3. 钉钉打卡等
  4. 手机游戏脚本等等
  5. 等等,反正自动化的操作都可以

3 为什么要选择auto.js?

  • 开源:代码开源,可以查到源码,安全以及问题解决更好
  • 无需root, 安卓7.0以上功能不需要root ;
  • 免费: 只要不违法, 你可以免费使用;
  • 语言:使用javaspcrit语言,容易入门
  • 扩展:提供js 转java桥梁
  • 开发环境: 作者提供了良心好用的vscode开发环境,可以直接调试手机 ,在同一局域网下就可以 。

4 教程

  1. 学习教程主要是官网的api介绍,非常详细;
  2. B站UP主笔青居教程讲的系统全面 :https://space.bilibili.com/21486893?from=search&seid=11249136233738857210
  3. 开发实践,可以参考这篇博客Auto.JS入门宝典,关键的方法都总结了

5 实战 ——微信自动发消息

可以把具体的步骤分解如下 :

  1. 如果手机在休眠,则唤醒屏幕解锁 ,否则直接下一步;
  2. 启动微信 ;
  3. 从四个板块中,找到第二个通讯录 ;
  4. 从通讯录中找到 ,需要的对象,即发消息的那个人;
  5. 点击发消息 ;
  6. 编辑文字发送,或者发表情 ;
  7. 退出微信;
  8. auto.js 设定定时执行脚本, 每天6:30自动执行 ;
    代码如下:
// 解锁
function jiesuo(password){
if(!device.isScreenOn()){
device.wakeUpIfNeeded();
sleep(100);
swipe(800,2300, 800, 1000,1000);
for (var i=0;i<password.length;i++){
n = text(x[i].toString()).findOne();
n.parent().click();
sleep(800);
}
}
}
// 发微信消息
function faxiaoxi(name){
launch("com.tencent.mm");
sleep(1000);
setScreenMetrics(1200, 2640);
click(106,2057,599,2375); // 手机有微信分身, 点开第一个微信
sleep(2000);
tongxunlu = id("dub").className("android.widget.TextView").text("通讯录").findOne();
tongxunlu.parent().click(); // 到达通讯录
sleep(2000);
twd = text(name).findOne();
var b = twd.bounds();
click(b.centerX(), b.centerY());
faxiaoxi = text("发消息").findOne();
faxiaoxi.parent().click();
sleep(2000);// 到达聊天框
x= random(0,2)
if(x==0){
wenben = className("EditText").findOne();
wenben.setText("早安"); //发早安
sleep(1000);
text("发送").findOne().click()
}else if(x==1){
id("ay9").findOne().click();
sleep(2000);
click(300,1950); // 发一个表情 // 首先设置好表情
}else{
id("ay9").findOne().click();
sleep(2000);
click(500,1950); // 发另一个个表情
}
}
password = [1,2,3,4]; // 解锁密码
jiesuo(password);
// 到达主屏
faxiaoxi("baby");
swipe(1000,2600, 1000, 2300,100); // 退出微信 //华为手机向上滑动退出

5 效果展示

每天发一样的可能会被发现,代码里加了一个随机数x, 0 是发”早安“,1和2为不同的表情, 下面我们注册一个小号伪装成女生的号演示一下,主动开启脚本效果如下,

可以看到,不仅是发早安, 定时发送任何消息都行

侦探笔记www.cangyuantuxs.com/

侦探笔记移动端5g.cangyuantuxs.com/

谈恋爱要做什么事?基于auto.js自动发早安给女朋友的更多相关文章

  1. 程序员过年必备 -- Auto.js微信自动抢红包

    打开微信就不用管了: - 自动打开未读消息 - 自动滑动屏幕检测红包 - 自动跳过无效红包 基于Auto JS,apk版本4.01: - 大多数动作均基于控件 - 极个别点击基于动态抓取的坐标 - 这 ...

  2. 【XSS】对抗蠕虫 —— 如何让按钮不被 JS 自动点击

    前言 XSS 自动点按钮有什么危害? 在社交网络里,很多操作都是通过点击按钮发起的,例如发表留言.假如留言系统有 XSS,用户中招后除了基本攻击外,还能进行传播 -- XSS 自动填入留言内容,并模拟 ...

  3. 基于原生js的图片延迟加载

    当页面图片比较多的时候,我们通常会做一个延迟加载,避免页面打开时一下子的请求数太多,加载过慢影响用户体验. 如果项目用了jquery框架,则可以直接用 jquery.lazyload.可在jquery ...

  4. Auto.js无障碍免root脚本开发学习

    Auto.js 简单入门 官方文档:https://hyb1996.github.io/AutoJs-Docs/#/ https://blog.csdn.net/QiHsMing/article/de ...

  5. 基于 React.js + Redux + Bootstrap 的 Ruby China 示例 (转)

    一直学 REACT + METEOR 但路由部分有点问题,参考一下:基于 React.js + Redux + Bootstrap 的 Ruby China 示例 http://react-china ...

  6. 用jQuery基于原生js封装的轮播

    我发现轮播在很多网站里面都用到过,一个绚丽的轮播可以为网页增色不少,最近闲来无事,也用原生js封装了一个轮播,可能不像网上的插件那么炫,但是也有用心去做.主要用了闭包的思想.需要传递的参数有:图片地址 ...

  7. 基于Node.js的强大爬虫 能直接发布抓取的文章哦

    基于Node.js的强大爬虫 能直接发布抓取的文章哦 基于Node.js的强大爬虫能直接发布抓取的文章哦!本爬虫源码基于WTFPL协议,感兴趣的小伙伴们可以参考一下 一.环境配置 1)搞一台服务器,什 ...

  8. 《基于Node.js实现简易聊天室系列之详细设计》

    一个完整的项目基本分为三个部分:前端.后台和数据库.依照软件工程的理论知识,应该依次按照以下几个步骤:需求分析.概要设计.详细设计.编码.测试等.由于缺乏相关知识的储备,导致这个Demo系列的文章层次 ...

  9. 基于 Vue.js 之 iView UI 框架非工程化实践记要

    像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引用一下,不需要就删除.故观念使然,尽管 Nuget 和 Maven ...

  10. 基于Three.js的360度全景--photo-sphere-viewer--简介

    这个是基于three.js的全景插件  photo-sphere-viewer.js  ---------------------------------------- 1.能添加热点: 2.能调用陀 ...

随机推荐

  1. this.$refs 获取的值是undefined

    以下是父组件内的代码截图 如果想取子组件内的方法,参数,等可以试以下两种方法 1.在mounted内使用this.$nextTick(()=>{   }) 2.直接再undated() {} 内 ...

  2. 树莓派4B安装Gogs

    https://www.labno3.com/2021/01/28/how-to-install-gogs-on-the-raspberry-pi/ https://gogs.io/docs/inst ...

  3. python如何实现对word内段落文本及表格的读取

    在以下方法中用到的三方库是:python-docx from docx import Document 获取指定段落的文本 def get_paragraph_text(path, n): " ...

  4. windows环境go安装和goland激活

    1. go环境安装 1.1. go安装包下载 https://golang.google.cn/dl/ https://studygolang.com/dl 1.2. 安装go环境 1.2.1. 点击 ...

  5. JS篇(001)-document load 和 document ready 的区别

    答案: 页面加载完成有两种事件 1.load是当页面所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源等),执行一个函数 问题:如果图片资源较多,加载时间较长,onload后等待 ...

  6. 解决 使用 params 传递参数 必须 加上 name

    {path:'/blog',name:'blog',params:{is:true}}

  7. mysql安装及可视化界面

    Mysql下载安装 官网下载链接 https://dev.mysql.com/downloads/mysql/ 可以选择之前的版本 我一开始下的8.0.21但安装的时候报错说找不到VCRUNTIME1 ...

  8. .netcore 以widnows服务方式运行

    应用需要 Microsoft.AspNetCore.Hosting.WindowsServices 的包引用. 生成主机时会调用 IHostBuilder.UseWindowsService. 若应用 ...

  9. vue父子组件,子组件调用父组件方法

    问题描述:在table页面修改数据后,想刷新页面.修改页面以子组件的形式写的,现在想在子组件里面调用父组件的方法实现页面刷新! 将问题google后,以下两种方法都尝试过了,但是不起作用......大 ...

  10. Appium+Python UI自动化框架

    import datetimefrom appium.webdriver.common.touch_action import TouchActionfrom appium import webdri ...