油猴脚本: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

相关文章

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

idea-java序列化serialversionUID自动生成方式

《idea-java序列化serialversionUID自动生成方式》Java的Serializable接口用于实现对象的序列化和反序列化,通过将对象转换为字节流来存储或传输,实现Serializa... 目录简介实现序列化serialVersionUID配置使用总结简介Java.io.Seripyth

C#借助Spire.XLS for .NET实现Excel工作表自动化样式设置

《C#借助Spire.XLSfor.NET实现Excel工作表自动化样式设置》作为C#开发者,我们经常需要处理Excel文件,本文将深入探讨如何利用C#代码,借助强大的Spire.XLSfor.N... 目录为什么需要自动化工作表样式使用 Spire.XLS for .NET 实现工作表整体样式设置样式配置

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF