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');
这样咱们一个简单的定时刷新任务程序就完成
相关文章
相关标签/搜索