如何使用Python控制boss来收集简历

一、目的

1.boss每日简历过多,无法做到多个岗位由一人来筛选。
2.boss被动收集候选人投递简历一天上限200封,主动收集通过“求简历”来收集一日不限量。
3.不筛选,仅收集简历操作过于重复,都是点击固定按钮,占用时间,无效率。

二、适用场景

1.简历不由收简历人筛选(或仅需通过年龄、收入、工作时间、学历、期望职位或期望职位地做简单筛选),收上的简历分发给各用人部门,再由他们来做筛选。
2.每日简历过多,超过200封。

三、使用软件

1.Python 3.7.3
2.pycharm(用来编辑Python代码,也可以选择别的)
3.命令提示符(系统自带,【win】键+【R】输入“cmd”)
4.chrome浏览器

四、应用原理

1.利用基于Python语言的selenium3,进行自动化收集简历,类似于自动化测试工作。
2.借鉴书籍《selenium3自动化测试实战-基于Python语言》

五、准备工作

1.环境搭建
第一步,安装Python
第二步,安装selenium3
常用命令

pip install selenium==3.141.0        #安装制定版本号
pip show selenium        #查看当前版本信息
pip uninstall selenium        #卸载

第三步,安装浏览器(Chrome)驱动
参照 https://blog.csdn.net/colala6688/article/details/126687421

2.boss设置
此前说了这种收集简历方式的应用场景,所以我们应该设置好收集简历的邮箱,并在邮箱里设置规则,比如“测试岗位”直接转发给x主管。或者单独建立不同岗位的收件夹,这要根据实际公司情况而定。

六、编写代码

代码分为几大部分,启用webdriver模块,遍历简历,判断岗位是否符合标准等。
1.前序

import logging
import sys
import time


from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait



options = webdriver.ChromeOptions()

options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")

chrome_driver = "C:\Program Files\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_driver, options=options)  # 以上操作为能在已开启页面进行操作
print(driver.title, driver.current_url)  # 页面标题\页面地址

2.遍历候选人
由于页面列表中,一页只能呈现出8个人,所以8个人为一循环,8个人完成后会刷新页面。

i = 0
n = 100
while i < n:
print(f"开始进行第{i + 1}/{n}轮测试")
try:
# 判断一下是否有数据,无数据时会显示class=“empty-icon”的元素,加载过程中会显示class="skeleton is-animated"的div
  item_list = driver.find_elements_by_css_selector('div[role="listitem"]')
print("count", len(item_list))
if len(item_list) == 0:
try:
# 如果列表为空
  driver.find_element_by_class_name("empty-icon")
print("打招呼列表为空,请稍后再试")

sys.exit(0)
except NoSuchElementException:
print("打招呼列表加载中,请耐心等待")
time.sleep(2)
item_list = driver.find_elements_by_css_selector('div[role="listitem"]')
print("count", len(item_list))


for item in item_list[:8]:  # 遍历沟通列表的每个牛人,前8个人
  item.click()  # 执行点击操作
  # 如果能够检索到已发送消息且已发送简历请求则继续遍历下一个
  WebDriverWait(driver, 10).until(

expected_conditions.presence_of_element_located((By.CLASS_NAME, "chat-message-list")))

chatlist = driver.find_element_by_class_name("chat-message-list")

WebDriverWait(driver, 10).until(

expected_conditions.presence_of_element_located((By.CLASS_NAME, "message-item")))
  WebDriverWait(driver, 10).until(

expected_conditions.visibility_of_element_located((By.CSS_SELECTOR, ".value.job")))

valuejob = driver.find_element_by_css_selector(".value.job")

WebDriverWait(driver, 10).until(

expected_conditions.presence_of_element_located((By.CLASS_NAME, "position-name")))

position = driver.find_element_by_class_name("position-name")

不知道为什么没有格式啊!在这里插入图片描述在这里插入图片描述
3.设置每个岗位的判断规则
以测试岗位举例,如果之前沟通过,回打印“已经回复过了”;如果他期望地不是北京,则会打印“求地址非北京”;如果他找的工作不是测试,则会打印“意愿非测试”。在求职者拼命海投情况下,代码能帮忙过滤掉很多人
在这里插入图片描述

4.循环结束
在这里插入图片描述

5.改写代码
由于每个用人单位所招聘的职位不同,所以要设置不同的规则,去判断,什么样的候选人我们要跟他沟通去收取简历,什么样的人直接跳过不再沟通。

七、运行代码

由于boss在不同浏览器打开时,需要扫码登录,所以我们需要让代码只在新开的网页上进行操作。
此时需要运用到“命令提示符”。
这个步骤也需要做些前序工作,这次先不说啦,下次补上

cd C:\Program Files\Google\Chrome\Application
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
运行完成后,会弹出一个新的网页,在网页中的登录boss,后续Python代码将都在此页面运行。

在这里插入图片描述
boss中选择沟通“全部”岗位,选择“未读”的沟通记录。

ps.非程序员,全凭自学Python和百度,真的好难呀,如果有不专业的地方,见谅啊!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值