前言

每天都是为公司的应用写自动化测试脚本,没曾把这些自动化应用到生活中,直到逛社区看到 用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话 发现还有如此好玩的事情。于是赏玩了一把,觉得还可以有更美好的实现方式。

上面的脚本还要进行扫码登录的操作,对于经常写自动化脚本的我们最好是一劳永逸的。所以这次我的脚本:只需一次登录。?

下面言归正传

准备

  • 一台Windows操作系统。
  • 在Windows上安装微信客户端。
  • 在Windows上安装CukeTest

这里说明一下为啥我要用CukeTest?

因为CukeTest是一款专门用来做自动化测试的工具,我经常用它来开发Windows,Web,Mobile,Api等自动化测试脚本。 本次我主要是想用它来自动化操作Windows版微信,你在Windows上登录微信后,不用管它,它会一直在线,只要电脑不关机,免去扫码登录的烦恼。

Pc上安装好微信客户端,我们手动登录一下,为了方便快速的让自动化脚本找到你的哪个她(或他),可以事先把她(或他)的微信置顶。

暖心内容来源

和上面的大佬一样也是每日一句来自one

天气信息来自墨迹天气

使用库

  • chromedriver
  • selenium-webdriver
  • moment

这些库大家如果经常写自动化测试,应该很熟悉。chromedriver chrome浏览器的驱动, selenium-webdriver web自动化库。
我脚本的原理比较简单,就是把平时我们手工操作的步骤转化为自动化脚本,自动打开chrome浏览器,去one和墨迹天气页面上提取信息。
因为CukeTest内置的有对Windows控件的操作,用CukeTest直接去自动操作微信,把上面提取出来的信息发送出去即可。

GitHub

github.com/autonodejs/…

运行

git clone https://github.com/autonodejs/auto_wechat.git
cd auto_wechat
npm install
复制代码

使用CukeTest 打开项目,点击运行就可以看到运行效果。

主要代码片段

1.编辑一个故事场景

2.获取信息

获取One

await driver.get(url);
let css_selector = '.fp-one-cita-wrapper>.fp-one-cita > a'; //元素定位
let text = await driver.findElement({css:css_selector}).getText();
this.oneText = text;
复制代码

获取天气

await driver.get(url);
let current_tm = await driver.findElement({ css:'div.wea_weather.clearfix > em'}).getText();
let current_state = await driver.findElement({ css:'.wea_weather.clearfix > b'}).getText();
let wea_tips = await driver.findElement({ css:'.wea_tips.clearfix > em'}).getText();
let current_about = await driver.findElement({ css:'.wea_about.clearfix'}).getText();
this.today_wea = `
温度:${current_tm}°
天气:${current_state}
${current_about}
${wea_tips}
`
});
复制代码

3.微信界面操作

操作微信界面需要在CukeTest中添加虚拟控件。

添加完虚拟控件,调用CukeTest提供的API即可。模型管理器中可以看到。

复制或拖拽相关的方法到代码编辑器中即可。

4.运行

转载于:https://juejin.im/post/5c7fa659e51d4560a82c0c5f

我也用Node写个每天给她自动发微信的脚本相关推荐

  1. python 题库自动答题,自动匹配题库_如何用python写一个从题库自动匹配的答题脚本_淘题吧...

    A. web数据库题目:根据用户输入的用户名和密码于数据库中的记录是否匹配制作一个用户登录模块 http://blog.csdn.net/love_leve/article/details/43226 ...

  2. python自动发微信新闻_微信群总有人发广告?用Python写一个自动化机器人消灭他...

    作者 | 刘早起 出品 | 早起Python(ID: zaoqi-python) 或者是一声不吭的去骚扰每一个群成员. 虽然不清楚是什么能够驱使他们这样不折不扣的努力成为最强微信群牛皮癣(可能是钞能力 ...

  3. 用node写一个皖水公寓自动刷房源脚本

    因为有需求,所以就写了一个简单的脚本来实时监测房源. 平时对node.js用的比较多,所以就用node.js来写,怎么方便咱怎么搞. 2017.12.19号更新 热心的小伙伴告诉我,房源查询现在加了一 ...

  4. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助...

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: 1 var fs = require( ...

  5. 从 1 到完美,用 node 写一个命令行工具

    从 1 到完美,用 node 写一个命令行工具 1. package.json 中的 bin 字段 现在,不管是前端项目还是 node 项目,一般都会用 npm 做包管理工具,而 package.js ...

  6. node写数据并实现数据跨域(不是用插件解决的)

    首先贴上node写的数据代码 const express = require('express') const bodyParser = require('body-parser') ///npm i ...

  7. 用Node+wechaty写一个爬虫脚本每天定时给女朋友发微信暖心话

    点击上方"前端小苑",选择"置顶公众号" 精品技术文章,热门资讯第一时间送达 wechatBot 微信每日说,每日自动发送微信消息给你心爱的人 项目介绍 灵感来 ...

  8. 用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话

    wechatBot 微信每日说,每日自动发送微信消息给你心爱的人 项目介绍 灵感来源 在掘金看到了一篇<用Node + EJS写一个爬虫脚本每天定时女朋友发一封暖心邮件>后, 在评论区偶然 ...

  9. 用 Python + itchat 写一个爬虫脚本每天定时给女朋友发微信暖心话

    项目介绍: 灵感来源 在掘金看到了一篇<用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话>后,我就想为什么不用 Python 去实现这个功能呢. JUST TO ...

最新文章

  1. 将HLSL射线追踪到Vulkan
  2. QT:(1)QT下载地址
  3. 对号入座,看看未来几年机器人是否会取代你的工作
  4. Sigmoid是品优函数吗?
  5. 数据智能构建管理平台Dataphin V2.9.4.3版本发布
  6. 洛谷P1080-国王游戏-贪心+高精度
  7. python16_day37【爬虫2】
  8. 蓝牙耳机音量大解决办法_长时间使用蓝牙耳机的危害这么大?我们到底该选什么蓝牙耳机呢?...
  9. 区块链中涉及到密码学的场景
  10. crontab 日志_聊聊老板让我删除日志文件那些事儿
  11. python3 tkinter详解_python tkinter基本属性详解
  12. NIO中Selector分析
  13. python爬虫分布式怎么构造_如何构建一个分布式爬虫:实战篇
  14. 配图做设计、找图找灵感交给素材路SUCAI63
  15. cad标注样式快捷键_CAD快速入门(二十三):标注样式
  16. vue将页面导出pdf,vue导出pdf
  17. 同一文件夹下的excel文件合并成一个总excel
  18. word打不开文档该怎么办?有什么好的方法
  19. 2. 确定地球与金星之间的距离 天文学家在1914年8月份的7次观测中,测得地球与金星之间距离(单位:米),并取其常用对数值,与日期的一组历史数据如下表:
  20. Spring-Cache

热门文章

  1. List remove
  2. (建议精读)HTTP灵魂之问,巩固你的 HTTP 知识体系
  3. 在户外头发竖立起来是遭雷击的先兆
  4. 前方高能:AI读取人脸表情的正确打开方式!
  5. 桌面显示电脑配置的PE_你还用软件看电脑配置?分享三种无需软件查看配置的方法...
  6. 冲锋衣裤的正确洗涤方式
  7. 计算机上的闹钟怎么设置方法,老司机教你电脑闹钟怎么设置
  8. python调用mysql数据库工具类
  9. 因计算机丢失d3dx9-30,win10安装游戏或软件后发现d3dx9_30.dll丢失打不开怎么办
  10. OpenDDS使用时遇到的问题