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

前言

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

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

下面言归正传

准备

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

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

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

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

暖心内容来源

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

天气信息来自墨迹天气

使用库

这些库大家如果经常写自动化测试,应该很熟悉。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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值