我也用Node寫個天天給她自動發微信的腳本

前言

天天都是爲公司的應用寫自動化測試腳本,沒曾把這些自動化應用到生活中,直到逛社區看到 用Node+wechaty寫一個爬蟲腳本天天定時給女(男)朋友發微信暖心話 發現還有如此好玩的事情。因而賞玩了一把,以爲還能夠有更美好的實現方式。javascript

上面的腳本還要進行掃碼登陸的操做,對於常常寫自動化腳本的咱們最好是一勞永逸的。因此此次個人腳本:只需一次登陸。😁css

下面言歸正傳java

準備

  • 一臺Windows操做系統。
  • 在Windows上安裝微信客戶端。
  • 在Windows上安裝CukeTest

這裏說明一下爲啥我要用CukeTest?node

由於CukeTest是一款專門用來作自動化測試的工具,我常常用它來開發Windows,Web,Mobile,Api等自動化測試腳本。 本次我主要是想用它來自動化操做Windows版微信,你在Windows上登陸微信後,不用管它,它會一直在線,只要電腦不關機,免去掃碼登陸的煩惱。git

Pc上安裝好微信客戶端,咱們手動登陸一下,爲了方便快速的讓自動化腳本找到你的哪一個她(或他),能夠事先把她(或他)的微信置頂。github

暖心內容來源

和上面的大佬同樣也是每日一句來自oneweb

天氣信息來自墨跡天氣chrome

使用庫

這些庫你們若是常常寫自動化測試,應該很熟悉。chromedriver chrome瀏覽器的驅動, selenium-webdriver web自動化庫。
我腳本的原理比較簡單,就是把平時咱們手工操做的步驟轉化爲自動化腳本,自動打開chrome瀏覽器,去one和墨跡天氣頁面上提取信息。
由於CukeTest內置的有對Windows控件的操做,用CukeTest直接去自動操做微信,把上面提取出來的信息發送出去便可。npm

GitHub

github.com/autonodejs/…瀏覽器

運行

git clone https://github.com/autonodejs/auto_wechat.git
cd auto_wechat
npm install
複製代碼

使用CukeTest 打開項目,點擊運行就能夠看到運行效果。

主要代碼片斷

1.編輯一個故事場景

image.png

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中添加虛擬控件。

addvirtualimage.gif

添加完虛擬控件,調用CukeTest提供的API便可。模型管理器中能夠看到。

image.png

複製或拖拽相關的方法到代碼編輯器中便可。

4.運行

runproject.gif
相關文章
相關標籤/搜索