影刀RPA HR人力资源专属教程招聘筛选简历到入职全流程自动化实战——HR的RPA入门到实战HR每天要做太多重复的事了。简历筛选、面试通知、入职材料收集、员工档案整理——这些事情占用了大量时间但其实全部可以自动化。这篇文章写给HR和招聘人员从简历解析讲起一直讲到自动发送入职通知全部基于真实HR场景。安装和认识影刀HR视角HR的电脑上通常装了招聘网站账号智联、前程无忧、BOSS直聘、Excel存简历和候选人信息、邮件系统发面试通知和Offer、有时候还有钉钉或飞书团队协作。影刀RPA能把这些都串起来自动登录招聘网站→下载简历→解析关键信息→写入Excel→发送面试通知邮件。不需要这些平台提供API直接模拟人工操作。安装步骤跟普通用户一样但要注意如果公司的招聘网站账号有IP限制只能在公司网络访问需要把影刀配置成固定IP运行或者联系IT部门把影刀运行机器的IP加入白名单。元素定位招聘网站的特殊性招聘网站通常有以下特点登录需要验证码、简历列表是动态加载的懒加载、简历详情页结构复杂。XPath的6种写法在招聘场景里的应用最常用的还是//tag[attributevalue]比如BOSS直聘的立即沟通按钮//button[classbtn-talk]。但class经常变更稳健的写法是结合text()//button[text()立即沟通]。对于简历详情页结构通常比较复杂有很多div嵌套建议用关联父元素的方式来定位。先捕获整个简历卡片的容器元素用class或id定位然后关联这个父元素去找里面的姓名“电话”邮箱等子元素。这样即使页面结构微调只要父元素没变就能找到子元素。CSS选择器语法更简洁button.btn-talk等同于XPath的//button[classbtn-talk]。但CSS做不到文本匹配和向上查找所以招聘场景里还是XPath用得更多。选型指南有唯一class或id的用CSS写法短需要按文字内容定位的用XPath需要向上查找父元素的用XPath。变量与数据类型简历信息的存储拼多多店群自动化上架方案HR自动化的核心是处理简历信息这部分全靠变量。列表用来存一批简历ID、一批候选人姓名。比如用循环相似元素抓完一页简历ID把每个ID追加到列表里后面逐个打开简历详情页。字典用来存简历ID→简历详情的映射关系。解析完一份简历之后用简历ID做键、解析出的信息姓名、电话、邮箱、工作经验做值存成字典。后面写入Excel或者发送面试通知的时候用简历ID去字典里查信息。JSON如果公司用了招聘管理系统ATS并且提供了API用发送HTTP请求调用API获取候选人信息返回的是JSON格式用JSON转对象转成字典再处理。字符串拼接HR场景里经常要把信息拼成一段文字比如面试通知邮件的正文用字符串拼接指令把姓名“面试时间”面试地点等变量拼成完整正文。流程控制简历筛选的循环与判断HR流程里最常见的流程控制就是批量处理简历先获取简历列表→逐个打开简历详情→解析关键信息→判断是否符合条件→符合条件的发送面试通知。ForEach列表循环最适用于批量处理场景。先把简历ID列表存到列表里然后用ForEach循环这个列表每次循环处理一份简历。If条件判断用来判断简历是否符合条件。比如工作经验3年、学历是本科或以上、期望薪资公司预算。多个条件组合的时候用且AND或者或OR来连接。Try-Catch解析简历的时候经常遇到格式不规范的简历比如电话号码格式不对、邮箱地址缺失用Try-Catch包住解析逻辑报错就跳过这份简历继续处理下一份不要因为一份简历的问题导致整个流程停掉。While循环适用于翻页获取简历列表的场景。只要下一页按钮还存在不包含disabled就继续翻页获取简历。网页自动化招聘网站的三大坑坑一验证码。招聘网站登录的时候经常需要输入验证码RPA流程里无法自动处理验证码需要人工识别之后输入。解决方案是用图像识别指令识别验证码图片然后把识别结果填到验证码输入框。但验证码识别率不是100%需要在流程里加验证码识别失败的异常处理比如重试3次还失败就发通知让人工处理。坑二懒加载。简历列表通常用懒加载页面只渲染可见区域的简历卡片。解决方案参考前面讲过的index去重法或者修改height样式强制一次性加载所有元素。坑三弹窗。招聘网站经常弹升级会员完善个人信息之类的弹窗如果不处理后面的操作会失败。标准流程是用处理浏览器弹窗指令在关键操作之前先检查并关闭弹窗。翻页的disabled判断法跟电商场景一样按F12看下一页按钮的class属性不可点击时最后一页会多一个disabled所以判断逻辑是先捕获下一页按钮勾选class里不含disabled的状态然后在循环里判断这个元素是否还存在不存在就说明到最后一页了。数据处理Excel和邮件Excel读写HR最常用的工具就是Excel用来存候选人信息。从招聘网站抓取的简历信息解析完之后写入Excel。注意Can not convert Array to String报错把整行当字符串用要用获取列表项取具体列的值。邮件发送面试通知和Offer通常用邮件发送。用发送邮件指令可以发给多个收件人用分号隔开可以带附件比如公司介绍PDF、面试须知PDF。邮件正文可以用变量拼接比如尊敬的{姓名}恭喜您通过初筛邀请您于{面试时间}参加面试…邮件读取有些HR流程需要自动读取候选人回复的邮件比如确认参加面试或者放弃面试用读取邮件指令可以按主题筛选邮件、读取邮件正文和附件。鼠标键盘和图像自动化模拟模式vs驱动模式HR场景里模拟模式一般够用。但如果公司的招聘网站检测到了模拟操作并拦截切换成驱动模式。图像识别招聘网站里的某些图标按钮比如收藏简历的星星图标没有文字无法用XPath按文字定位用图像识别点击。进阶技能HTTP请求和Python协同HTTP请求/API对接如果公司用了招聘管理系统ATS并且提供了API用发送HTTP请求调用API可以直接获取候选人信息、更新候选人状态不需要模拟界面操作稳定性高很多。Python协同HR数据处理有时候用影刀指令写很麻烦比如要把简历按多个维度做筛选和排序用Python的pandas库几行代码就搞定。OCR文字识别有些简历是图片格式比如从微信收到的简历截图用OCR识别图片里的文字再提取关键信息。TEMU店群如何管理运营平台实战智联、前程无忧、BOSS直聘BOSS直聘网页版可以用网页自动化的方式操作。BOSS直聘的反爬比较严格要点有几个1. 操作之间加随机等待2-4秒2. 不要用过于频繁的立即沟通容易被限流3. 登录状态要用影刀的获取当前已打开的网页来保持。智联招聘网页版元素结构比较规范元素定位相对容易。最常见的场景是自动搜索候选人→打开简历详情→解析关键信息→发送面试通知。前程无忧类似智联但简历下载需要会员权限。RPA流程里无法自动升级会员需要人工确保账号有下载权限。系统联动邮件、飞书和定时任务邮件发送前面已经讲过了这里补充一点如果公司用的是企业邮箱比如腾讯企业邮箱、阿里云邮箱需要在邮件配置里填好SMTP服务器地址、端口、账号密码。飞书消息通知每天自动把招聘数据汇总发到HR团队的飞书群比如今日新增简历XX份已发送面试通知XX人待处理XX人。用发送飞书消息指令消息内容可以用变量拼接。定时任务HR流程通常按工作日运行比如每天上午9点自动处理前一天收到的简历。配置路径影刀控制台→定时任务→新建任务→选择应用→配置Cron表达式0 9 * * 1-5表示周一到周五上午9点。注意设置运行超时时间HR流程通常数据量不大设30-60分钟就够了。工程化和规范子流程封装HR流程里“登录招聘网站”“解析简历信息”发送面试通知邮件这几个步骤在多个流程里都会用到封装成子流程主流程里直接调用。调试技巧HR流程最常用的调试方法是打断点。在解析简历信息指令前打断点运行时可以看到解析出的信息是否完整、格式是否正确。命名规范HR流程的变量名要清晰比如resume_count简历数、candidate_name候选人姓名、interview_time面试时间。版本选择HR流程通常要处理大量简历每天几十上百份社区版每天30分钟的限制可能不够用需要升级到企业版。速查表HR场景常见报错场景报错原因解决办法招聘网站登录验证码识别失败验证码图片不清晰重试3次还失败发通知让人工处理简历解析Can not convert Array to String列表直接当字符串用用获取列表项取具体值邮件发送SMTP认证失败邮箱密码或端口填错检查SMTP配置用腾讯/阿里云的企业邮箱要用授权码而非登录密码元素捕获简历详情页元素找不到等待时间不够 / iframe加等待指令 / 切换iframe定时任务任务没有按时运行Cron表达式写错检查表达式用在线Cron工具验证更多HR自动化场景和案例可以去 home.linyan.cloud 查看。#影刀RPA #HR自动化 #招聘 #简历筛选 #面试通知 #RPA教程作者林焱。
影刀RPA HR人力资源专属教程:招聘筛选简历到入职全流程自动化实战——HR的RPA入门到实战
影刀RPA HR人力资源专属教程招聘筛选简历到入职全流程自动化实战——HR的RPA入门到实战HR每天要做太多重复的事了。简历筛选、面试通知、入职材料收集、员工档案整理——这些事情占用了大量时间但其实全部可以自动化。这篇文章写给HR和招聘人员从简历解析讲起一直讲到自动发送入职通知全部基于真实HR场景。安装和认识影刀HR视角HR的电脑上通常装了招聘网站账号智联、前程无忧、BOSS直聘、Excel存简历和候选人信息、邮件系统发面试通知和Offer、有时候还有钉钉或飞书团队协作。影刀RPA能把这些都串起来自动登录招聘网站→下载简历→解析关键信息→写入Excel→发送面试通知邮件。不需要这些平台提供API直接模拟人工操作。安装步骤跟普通用户一样但要注意如果公司的招聘网站账号有IP限制只能在公司网络访问需要把影刀配置成固定IP运行或者联系IT部门把影刀运行机器的IP加入白名单。元素定位招聘网站的特殊性招聘网站通常有以下特点登录需要验证码、简历列表是动态加载的懒加载、简历详情页结构复杂。XPath的6种写法在招聘场景里的应用最常用的还是//tag[attributevalue]比如BOSS直聘的立即沟通按钮//button[classbtn-talk]。但class经常变更稳健的写法是结合text()//button[text()立即沟通]。对于简历详情页结构通常比较复杂有很多div嵌套建议用关联父元素的方式来定位。先捕获整个简历卡片的容器元素用class或id定位然后关联这个父元素去找里面的姓名“电话”邮箱等子元素。这样即使页面结构微调只要父元素没变就能找到子元素。CSS选择器语法更简洁button.btn-talk等同于XPath的//button[classbtn-talk]。但CSS做不到文本匹配和向上查找所以招聘场景里还是XPath用得更多。选型指南有唯一class或id的用CSS写法短需要按文字内容定位的用XPath需要向上查找父元素的用XPath。变量与数据类型简历信息的存储拼多多店群自动化上架方案HR自动化的核心是处理简历信息这部分全靠变量。列表用来存一批简历ID、一批候选人姓名。比如用循环相似元素抓完一页简历ID把每个ID追加到列表里后面逐个打开简历详情页。字典用来存简历ID→简历详情的映射关系。解析完一份简历之后用简历ID做键、解析出的信息姓名、电话、邮箱、工作经验做值存成字典。后面写入Excel或者发送面试通知的时候用简历ID去字典里查信息。JSON如果公司用了招聘管理系统ATS并且提供了API用发送HTTP请求调用API获取候选人信息返回的是JSON格式用JSON转对象转成字典再处理。字符串拼接HR场景里经常要把信息拼成一段文字比如面试通知邮件的正文用字符串拼接指令把姓名“面试时间”面试地点等变量拼成完整正文。流程控制简历筛选的循环与判断HR流程里最常见的流程控制就是批量处理简历先获取简历列表→逐个打开简历详情→解析关键信息→判断是否符合条件→符合条件的发送面试通知。ForEach列表循环最适用于批量处理场景。先把简历ID列表存到列表里然后用ForEach循环这个列表每次循环处理一份简历。If条件判断用来判断简历是否符合条件。比如工作经验3年、学历是本科或以上、期望薪资公司预算。多个条件组合的时候用且AND或者或OR来连接。Try-Catch解析简历的时候经常遇到格式不规范的简历比如电话号码格式不对、邮箱地址缺失用Try-Catch包住解析逻辑报错就跳过这份简历继续处理下一份不要因为一份简历的问题导致整个流程停掉。While循环适用于翻页获取简历列表的场景。只要下一页按钮还存在不包含disabled就继续翻页获取简历。网页自动化招聘网站的三大坑坑一验证码。招聘网站登录的时候经常需要输入验证码RPA流程里无法自动处理验证码需要人工识别之后输入。解决方案是用图像识别指令识别验证码图片然后把识别结果填到验证码输入框。但验证码识别率不是100%需要在流程里加验证码识别失败的异常处理比如重试3次还失败就发通知让人工处理。坑二懒加载。简历列表通常用懒加载页面只渲染可见区域的简历卡片。解决方案参考前面讲过的index去重法或者修改height样式强制一次性加载所有元素。坑三弹窗。招聘网站经常弹升级会员完善个人信息之类的弹窗如果不处理后面的操作会失败。标准流程是用处理浏览器弹窗指令在关键操作之前先检查并关闭弹窗。翻页的disabled判断法跟电商场景一样按F12看下一页按钮的class属性不可点击时最后一页会多一个disabled所以判断逻辑是先捕获下一页按钮勾选class里不含disabled的状态然后在循环里判断这个元素是否还存在不存在就说明到最后一页了。数据处理Excel和邮件Excel读写HR最常用的工具就是Excel用来存候选人信息。从招聘网站抓取的简历信息解析完之后写入Excel。注意Can not convert Array to String报错把整行当字符串用要用获取列表项取具体列的值。邮件发送面试通知和Offer通常用邮件发送。用发送邮件指令可以发给多个收件人用分号隔开可以带附件比如公司介绍PDF、面试须知PDF。邮件正文可以用变量拼接比如尊敬的{姓名}恭喜您通过初筛邀请您于{面试时间}参加面试…邮件读取有些HR流程需要自动读取候选人回复的邮件比如确认参加面试或者放弃面试用读取邮件指令可以按主题筛选邮件、读取邮件正文和附件。鼠标键盘和图像自动化模拟模式vs驱动模式HR场景里模拟模式一般够用。但如果公司的招聘网站检测到了模拟操作并拦截切换成驱动模式。图像识别招聘网站里的某些图标按钮比如收藏简历的星星图标没有文字无法用XPath按文字定位用图像识别点击。进阶技能HTTP请求和Python协同HTTP请求/API对接如果公司用了招聘管理系统ATS并且提供了API用发送HTTP请求调用API可以直接获取候选人信息、更新候选人状态不需要模拟界面操作稳定性高很多。Python协同HR数据处理有时候用影刀指令写很麻烦比如要把简历按多个维度做筛选和排序用Python的pandas库几行代码就搞定。OCR文字识别有些简历是图片格式比如从微信收到的简历截图用OCR识别图片里的文字再提取关键信息。TEMU店群如何管理运营平台实战智联、前程无忧、BOSS直聘BOSS直聘网页版可以用网页自动化的方式操作。BOSS直聘的反爬比较严格要点有几个1. 操作之间加随机等待2-4秒2. 不要用过于频繁的立即沟通容易被限流3. 登录状态要用影刀的获取当前已打开的网页来保持。智联招聘网页版元素结构比较规范元素定位相对容易。最常见的场景是自动搜索候选人→打开简历详情→解析关键信息→发送面试通知。前程无忧类似智联但简历下载需要会员权限。RPA流程里无法自动升级会员需要人工确保账号有下载权限。系统联动邮件、飞书和定时任务邮件发送前面已经讲过了这里补充一点如果公司用的是企业邮箱比如腾讯企业邮箱、阿里云邮箱需要在邮件配置里填好SMTP服务器地址、端口、账号密码。飞书消息通知每天自动把招聘数据汇总发到HR团队的飞书群比如今日新增简历XX份已发送面试通知XX人待处理XX人。用发送飞书消息指令消息内容可以用变量拼接。定时任务HR流程通常按工作日运行比如每天上午9点自动处理前一天收到的简历。配置路径影刀控制台→定时任务→新建任务→选择应用→配置Cron表达式0 9 * * 1-5表示周一到周五上午9点。注意设置运行超时时间HR流程通常数据量不大设30-60分钟就够了。工程化和规范子流程封装HR流程里“登录招聘网站”“解析简历信息”发送面试通知邮件这几个步骤在多个流程里都会用到封装成子流程主流程里直接调用。调试技巧HR流程最常用的调试方法是打断点。在解析简历信息指令前打断点运行时可以看到解析出的信息是否完整、格式是否正确。命名规范HR流程的变量名要清晰比如resume_count简历数、candidate_name候选人姓名、interview_time面试时间。版本选择HR流程通常要处理大量简历每天几十上百份社区版每天30分钟的限制可能不够用需要升级到企业版。速查表HR场景常见报错场景报错原因解决办法招聘网站登录验证码识别失败验证码图片不清晰重试3次还失败发通知让人工处理简历解析Can not convert Array to String列表直接当字符串用用获取列表项取具体值邮件发送SMTP认证失败邮箱密码或端口填错检查SMTP配置用腾讯/阿里云的企业邮箱要用授权码而非登录密码元素捕获简历详情页元素找不到等待时间不够 / iframe加等待指令 / 切换iframe定时任务任务没有按时运行Cron表达式写错检查表达式用在线Cron工具验证更多HR自动化场景和案例可以去 home.linyan.cloud 查看。#影刀RPA #HR自动化 #招聘 #简历筛选 #面试通知 #RPA教程作者林焱。