nodejs實現簡歷自動刷新(無頭瀏覽器測試功能)

nodejs實現簡歷自動刷新

完整程序GitHub上面能夠找到

GitHub地址node

想一想當時面試天天都刷新簡歷,有時候還會忘記,晚上回家沒事麼事幹,作了個簡單的無頭瀏覽器刷新簡歷功能
用到的技術
nodejs+nightmare

實現的程序

首先咱們須要引用nightmare
const Nightmare= require('nightmare');
咱們要實例化nightmare
const nightmare = Nightmare({ show: true });
下面是咱們須要的核心代碼
.goto 連接要去的url
type模仿 尋找文本框添加本身要找到的文本框並加上須要的文本
click 模擬鼠標的點擊事件 方法同上
wait 檢查.wait()條件成功之間等待多長時間
.wait(()=>{})當中也能夠放置函數(例如能夠判斷目標文件是否存在的函數)
.end()結束文件
nightmare
    //打開網址
    .goto("http://www.zhaopin.com/")
    //輸入
    .type("[name='loginname']","*******")
    .type("[name='Password']","********")
    //點擊事件(根據選擇器)
    .click(".logbtn button")
    //等待
    .wait(2000)
    .goto("https://i.zhaopin.com/") 
    .wait(2000)
    .click("a.myLinkA.linkRefresh")
    .end()
    .wait(2000)
    .catch((error) => {
        console.error('Search failed:', error);
    });

自動刷新

這樣作仍是得咱們手動刷新,那這樣就達不到咱們想樣的結果,下面咱們就將程序改成自動刷新
首先咱們須要一個叫作cron的模塊,這個模塊是一個實現定時計劃任務的模塊
一、安裝模塊
$ npm install -g cron
二、啓動一個任務
var cronJob = require("cron").CronJob;  
//每秒鐘執行一次  
new cronJob('* * * * * *', function () {  
        //your job code here  
}, null, true, 'Asia/Chongqing');  
//每隔30秒執行一次,會在0秒和30秒處執行  
new cronJob('*/30 * * * * *', function () {  
        //your job code here  
}, null, true, 'Asia/Chongqing');  
//從早上8點到下午18點,每隔半個小時執行一次,會在0分和30分處執行  
new cronJob('* */30 8-18 * * *', function () {  
        //your job code here  
}, null, true, 'Asia/Chongqing');  
//在天天的10點和18點的第26分鐘各執行一次  
new cronJob('* 26 10,18 * * *', function () {  
        //your job code here  
}, null, true, 'Asia/Chongqing');
var cronJob = require("cron").CronJob;
三、不當即執行任務,人工啓動
var jobid = new cronJob('* 26 10,18 * * *', function () {  
        //your job code here  
}, null, false, 'Asia/Chongqing');  
jobid.start();
4,設置時區
cronJob中的時間適合時區有關的,因此須要配合正確的時區,關於時間能夠參考這篇文章: centos中查看系統時區和相關設置
5,動態設置時間
var jobid = new cronJob('* * * * * *', function () {  
        //your job code here  
}, null, false, 'Asia/Chongqing');  
var second = "12";  
var minute = "0";  
var hour = "8-19";  
var interval = "3";  
var time = require("cron").time(second + ' ' + minute + ' ' + hour+ '/' + interval + ' * * *', 'Asia/Chongqing');  
jobid.stop();  
jobid.setTime(time);  
jobid.start();
6,終止cron任務
var jobid = new cronJob('* 26 10,18 * * *', function () {  
        //your job code here  
}, null, true, 'Asia/Chongqing');  
...  
jobid.stop();
我在這個程序中作的是在天天的10點和18點的第30分鐘各執行一次
var cronJob = require("cron").CronJob; 
//引入個人須要做業的程序
var App=require("./app");
new cronJob('* 30 09,18 * * *', function () {  
    console.log("開始執行定時更新任務");
    App.appcron();
}, null, true, 'Asia/Chongqing');
這樣咱們一個簡單的定時刷新任務程序就完成
相關文章
相關標籤/搜索