一、前言

最近得知公司有内推活动,但是本人工作繁忙,于是打算写个脚本来获取简历,赚点外快。于是针对boss直聘,写了一个脚本,用以实现自动回复以及自动获取简历功能。下面是第一个月挣的收益:

二、代码

谷歌浏览器F12打开控制台,运行以下脚本:

let intervalTime = 4 * 1000;
let waitTime = 200;setInterval(() => {let newCount = document.getElementsByClassName('news-count');if (newCount.length) {newCount[0].click(); // 触发点击事件setTimeout(() => {// 如果我没有回复let myReply = document.getElementsByClassName('message item-myself');if (!myReply.length) {let test = setTimeout(() => {writeAndClick();clearTimeout(test);}, waitTime)}}, waitTime)}// 如果对方要求投简历setTimeout(() => {let hasResume = document.getElementsByClassName('link-agree')[0];if (hasResume) {hasResume.click();}}, waitTime)
}, intervalTime);function writeAndClick() {let inputEle = document.getElementsByClassName('bosschat-chat-input chat-message')[0];if (inputEle) {inputEle.innerText = [`欢迎你投递xx公司的该岗位,因为公司正在急速扩招中,需要需要大量的人才。`,`简单的介绍一下xx公司:互联网和建筑行业的技术岗和非技术岗位(自研,非外包)都有。地点:上海、北京、深圳、重庆。面试简单、流程快、工资高、福利好。可视频面试和现场面试。想了解更多,可自行去百度或b站搜索xx公司,自行了解。`,`除此之外我们希望你:1. 本科及以上学历(研发岗位)2.至少一半工作时间不是外包的 3.有名校或者大厂工作经历(加分项)4. 如果你够厉害、可无视以上所有的点(不然,浪费彼此的时间也不好)`,`如果符合上述条件、希望各位大大自己要发送简历过来呀,我这边会默认接收的。不然会因为我不及时向你们要简历,而导致你们错过了最佳的投递时间哦`,`如果简历我这边通过的话(早中晚统一处理),会推给hr,并且每天通知你们内推进度的。如果没有回复的话,说明可能不太适合我们公司哦~。`].join('\n\n');let keyCode = [9, 9, 13];for (var i = 0; i < keyCode.length; i++) {cCode = keyCode[i];fireKeyEvent(inputEle, "keydown", cCode);fireKeyEvent(inputEle, "keypress", cCode);fireKeyEvent(inputEle, "keyup", cCode);}document.getElementsByClassName('btn btn-send')[0].classList.remove('btn-disabled');document.getElementsByClassName('btn btn-send')[0].click();}
}function fireKeyEvent(el, evtType, keyCode) {var evtObj;if (document.createEvent) {if (window.KeyEvent) {//firefox 浏览器下模拟事件evtObj = document.createEvent('KeyEvents');evtObj.initKeyEvent(evtType, true, true, window, true, false, false, false, keyCode, 0);} else {//chrome 浏览器下模拟事件evtObj = document.createEvent('UIEvents');evtObj.initUIEvent(evtType, true, true, window, 1);delete evtObj.keyCode;if (typeof evtObj.keyCode === "undefined") {//为了模拟keycodeObject.defineProperty(evtObj, "keyCode", { value: keyCode });} else {evtObj.key = String.fromCharCode(keyCode);}if (typeof evtObj.ctrlKey === 'undefined') {//为了模拟ctrl键Object.defineProperty(evtObj, "ctrlKey", { value: true });} else {evtObj.ctrlKey = true;}}el.dispatchEvent(evtObj);} else if (document.createEventObject) {//IE 浏览器下模拟事件evtObj = document.createEventObject();evtObj.keyCode = keyCodeel.fireEvent('on' + evtType, evtObj);}
}

三、原理说明

打开boss直聘网页版,我们会看到这样的界面:

只要你一直打开这个页面,左侧就可能会有很多未读信息,而我们要做的就是设置一个定时器,定时的去查询左侧是否有未读信息。放在前端,也就是查看dom节点树上是否有该dom节点:

有的话,就模拟鼠标点击事件,进入与该候选人聊天的界面,自动模拟聊天功能:

然后,如果候选人有回复的话,就会给你发简历,因为发了简历还需要点击“确定”才能接收简历。所以同样地,按照上面的思路,定时查询是否有人发简历,有的话,就模拟点击事件接收简历:

最后,只要我们在闲暇的时候查阅一下简历,放到内推系统上就可以了。当然,能不能到面试那一轮,就得看hr和广大面试官们了。

四、结语

因为最后查阅简历的这一步太耗时间了,所以这个内推工作做了一个月之后,就没做了。
并且,因为前段时间这个脚本被boss直聘反爬虫了,所以现在用不了。
因此,这个脚本目前可能只具有学习参考意义。

boss直聘实现自动回复以及自动获取简历功能相关推荐

  1. 一个Boss直聘机器人, 自动回复发简历

    点击上方"编程精选",选择"置顶公众号" 技术文章第一时间送达! goBoss 这是基于go语言编写的一款boss直聘机器人软件(牛人版).附上Python版本 ...

  2. Boss直聘怎么写出优秀的简历?

    https://www.jianshu.com/p/a110e85372a5 https://www.zhihu.com/question/388976296

  3. 智联,拉钩,boss直聘,三款互联网招聘应用竞品分析

    近年来在移动互联网浪潮的冲击下,凭借更好的用户体验和新颖的盈利模式,拉勾网和Boss直聘脱颖而出,成为了互联网垂直招聘模式中的佼佼者.虽然前程无忧和智联招聘两大传统招聘巨头也受到影响,在寻求转型中,但 ...

  4. 爬取boss直聘“数据分析”工作

    爬取boss直聘数据分析[1.获取数据] 1.背景:面临工作,需要数据支持,看到各大数据源(天池.和鲸社区-),萌生一种自己爬取数据分析工作的信息,将数分融入进找工作的环节中,利用数据分析来分析当前数 ...

  5. 【数据分析项目实战】Python爬取BOSS直聘岗位和数据分析

    说明:这是一个数据分析项目全流程(附带项目实例),本篇教程来源于网络,胖哥对此进行了完整的梳理,并把用到的数据+代码完全奉上.如需数据+完整代码可以直接到文章最后获取. 这里面的数据,我只爬取了部分, ...

  6. BOSS直聘自动投简历聊天机器人的实现过程

    这两年疫情,公司业务越来越差,必须得准备后路了,每天睡前都会在直聘上打一遍招呼,一直到打哈欠有睡意为止...,这样持续了一周,发现很难坚持,身为一名资深蜘蛛侠,怎么能这样下去呢?于是便萌生了对BOSS ...

  7. selenium自动登录boss直聘

    基于selenium模块自动登录boss直聘 超级鹰识别验证码操作详细. import timefrom PIL import Image from selenium import webdriver ...

  8. Appium+Python实现自动投递Boss直聘简历

    一.首先安装Appium和所需要的所有环境 这里所需要的所有软件和环境,可以看我这篇博客. https://blog.csdn.net/qq_43107323/article/details/1056 ...

  9. 如何获取boss直聘搜索牛人被屏蔽的姓名

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 玩玩boss直聘." 最近在用boss直聘,活跃度估计蛮高的. 在使用牛人搜索的时候,却遇到了一个问题,就是搜出的牛人姓名是被屏蔽 ...

最新文章

  1. 精密空调与普通空调区别及故障解析
  2. 温度测量系统流程图_土壤温度和水分含量是如何调控城市草坪土壤N2O通量的?——来自LICOR土壤温室气体通量长期监测系统14个月的测量数据...
  3. iOS - EaseMob 环信的使用
  4. 介绍“又一个” Cloud Foundry Gradle插件
  5. 深入浅出MyBatis:「映射器」全了解
  6. Linux grep及正则表达式
  7. 一起谈.NET技术,asp.net控件开发基础(17)
  8. JSON与JAVA的数据转换
  9. python 基于smb通信协议实现NAS服务器文件上传和下载
  10. 纯真ip java_利用纯真IP数据库,通过IP查地址[JAVA]
  11. Java基础---整理1:JRE+进制+注释+关键字+标识符+变量
  12. 扁平化easyUI default皮肤
  13. python获取交换机信息
  14. Nginx 基本理论和安装
  15. CentOS 7 安装极点五笔输入法
  16. 大数据技术会偷看我们的邮件?
  17. 【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part1):项目介绍与环境准备
  18. Kubernetes基础:问题排查方法示例:结合使用kubectl get event
  19. 原VIPKID研发副总裁朱会离职
  20. kafka关于副本的理解

热门文章

  1. 我们建造了学校+ WPBeginner赠品获奖者
  2. nginx设置白名单
  3. Springboot项目 logging level配置
  4. 涛思数据TDengine征稿 — 保姆级教程TDengine客户端服务器安装教程
  5. ALTERA CPLD离线烧写方案设计(MCU模拟JTAG)
  6. cpld xilinx 定义全局时钟_FPGA/CPLD设计工具:Xilinx ISE 5.x使用详解
  7. Http请求状态码:905
  8. 2022-2028全球婴儿护理台行业调研及趋势分析报告
  9. kafka实践(十七): Logi-KafkaManager研究
  10. win10服务器 稳定性,如何检测Win10系统稳定性?