油猴脚本:BOSS候选人简历工作履历时间自动计算显示

本文主要是介绍油猴脚本:BOSS候选人简历工作履历时间自动计算显示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BOSS的候选人工作履历时间不计算,不符合我的查看习惯,很容易让那种经常跳槽的人简历通过,容易遗漏,特编写此程序!

使用前:
使用后:

代码如下:

// ==UserScript==
// @name         BOSS网页版辅助器(计算候选人工作经历时间)
// @namespace    hearts
// @version      0.3
// @description  计算时间段内的年月差,并添加到文本节点末尾,且有颜色标识,绿色是稳定3年以上,红色是频繁跳槽
// @author       You
// @match        https://www.zhipin.com/*
// @grant        none
// ==/UserScript==(function() {'use strict';var regex = /(\d{4}\.\d{2})\s*-\s*(\d{4}\.\d{2})|(\d{4}\.\d{2})\s*-\s*至今/g;var durationRegex = /\(\d+年\d+月\)/;function processTextNodes() {var textNodes = getTextNodes(document.body);console.log('找到的文本节点数量:', textNodes.length);textNodes.forEach(function(node) {var text = node.textContent;var spanExists = node.parentNode.querySelector('span.duration');if (spanExists || durationRegex.test(text)) {console.log('文本节点已经包含年月信息:', text);return;}var matches = text.match(regex);if (matches) {console.log('匹配到的时间段:', matches);var processed = {};matches.forEach(function(match) {if (!processed[match]) {processed[match] = true;var dates = match.split('-');var start = dates[0].trim();var end = dates[1] ? dates[1].trim() : new Date().toISOString().slice(0, 7).replace('-', '.');console.log('开始时间:', start, '结束时间:', end);if (end === '至今') {end = new Date().toISOString().slice(0, 7).replace('-', '.');}var startDate = new Date(start.replace('.', '-'));var endDate = new Date(end.replace('.', '-'));var diffYear = endDate.getFullYear() - startDate.getFullYear();var diffMonth = endDate.getMonth() - startDate.getMonth();var diff = diffYear * 12 + diffMonth;var yearMonth = `${Math.floor(diff / 12)}年${diff % 12}月`;console.log('计算出来的年月:', yearMonth);// 创建 span 元素来标识时间计算值和颜色var span = document.createElement('span');span.textContent = `(${yearMonth})`;span.classList.add('duration');// 创建一个空的文本节点,用来插入 span 元素的后面var emptyTextNode = document.createTextNode('');node.parentNode.insertBefore(span, node.nextSibling);node.parentNode.insertBefore(emptyTextNode, span.nextSibling);// 根据年限设置颜色var year = Math.floor(diff / 12);if (year < 1) {span.style.color = 'red';}else if (year >= 3) {span.style.color = 'green';}//else{span.style.color = 'green';}}});}});}function getTextNodes(root) {var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false);var textNodes = [];var node;while (node = walker.nextNode()) {textNodes.push(node);}return textNodes;}processTextNodes();setInterval(processTextNodes, 2000);
})();

这篇关于油猴脚本:BOSS候选人简历工作履历时间自动计算显示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976713

相关文章

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件