利用js脚本实现网页版微信定时发送文本消息

时间:2024-01-30 19:57:31

写在前面

  放假了,但由于疫情的影响,我作为班长,需要每天询问班级成员的健康状况并上报。本来Tim、钉钉等企业用app早已经实现这种功能了,可大家非要用微信(很气)。本人较懒,我想用程序自动实现这种功能。为了这个目标,我先学一波js语言。

 


 

正式开始

一、js入门(很浅) 

(一)涉及的基础知识

  (1) 数据类型

  •   js用关键字 var 定义变量

1 var a = "学习STM32"; //字符串
2 var b = 6;          //js只有一种数据类型,可带小数点
  •   js函数语法(使用关键字 function
function FunctionName(var1,var2,...)
{
    代码
}

二、源码及具体分析

(一)源码如下

该代码为网上公开的源码,非本人原创,仅供个人学习

1 var appElement = document.querySelector(\'[ng-controller=chatSenderController]\');
2 var $scope = angular.element(appElement).scope();
3 setInterval(function(){
4     var localTimeString = new Date().toLocaleTimeString();
5     if(localTimeString.indexOf(\'上午8:30:00\') === 0){
6         $scope.editAreaCtn = "汇报健康状况";
7         $scope.sendTextMessage();
8     }
9 },5000);

  (二)   具体分析

 (1)第一行 document.querySelector()

    作用:返回文档中匹配指定 CSS 选择器的一个元素。

    这里它的参数 \'[ng-controller=chatSenderController]\' ,我们可以检查一下微信网页的元素,如图。  可以看出应该是一个与聊天输入区域有关的东西。

(2)第二行 angular.element(appElement).scope()

    作用:获取元素appElement 的scope

(3)setInterval()

    作用 :setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。例如下面这句

setInterval(function(){ alert("Hi"); }, 5000);//每5000毫秒弹出一个Hi对话框

(4)toLocaleTimeString() 

    作用:根据本地时间把 Date 对象的时间部分转换为字符串

  (5) 第六行的字符串就是自己想发送的内容

(6) 第七行 sendTextMessage()

    作用:通过网页代码可知,它就是发送按钮点击响应的动作

 

 

 

 

 

 

 

 

 

 

 

 


 

三、应用方法

  1. 打开微信网页版,并切换到你想发送对象的聊天窗口
  2. 打开浏览器控制台(一般快捷键都是F12)
  3. 输入代码,回车执行。
  4. 注意:必须保持聊天页面,不能刷新