此脚本用appium来写的一个boss直聘自动化招聘工具,容易上手,有着遍历人才库,匹配自己设定的岗位关键字,岗位关键字可以在excel里面输入,代码读取excel,然后自动匹配在线简历,匹配成功则私信要附件简历,这个是1.0需求,1.1需求还有遍历消息列表,下载简历,转发钉钉。此版本运用了pytest框架,失败了可以自动拉起 缺点:被boss直聘检测出为第三方插件,在脚本运行的时候会退出登陆,但是不会封号,各位可以一起讨论一下这个事情
import random from time import sleep import numpy as np from appium import webdriver from import AppiumBy import pytest import pandas as pd class TestCommentdeletion: @(reruns=100 , reruns_delay=5) def testconnecttowachat(self): desire = { "platformName": "Android", # 设置安卓 固定的 "platformVersion": "11", # 安卓版本号 "autoAcceptAlerts": True, # 授权弹窗 "appPackage": "", # 设置包名 "appActivity": "", # 设置启动文件名 "deviceName": "FEC0220428003691", "automationName": "UIAutomator2", "noReset": True, 'resetKeyboard': True } server ='http://localhost:4723/wd/hub' driver = (server,desire) sleep((1,5)) while True: driver.find_element(,'//*[@resource-]').click()#点击进入消息 sleep((5,8)) driver.find_element(,'//*[@resource-]').click()#点击进入牛人 sleep((5,10)) width = driver.get_window_size()['width'] height = driver.get_window_size()['height'] sleep((1,5)) (width * 0.2, height * 0.3, width * 0.4, height * 0.1, 1000) ([(55, 721),(1025,760)],300) sleep(1) =driver.find_element(,'//*[@resource-]').text sleep((1,2.5)) print(f'进入{}简历详情页') = [] n = driver.find_element(, ':id/tv_geek_description') = print() while True: tou = driver.find_elements(,'//*[@text="教育经历"]') if tou ==[]: sleep((1,3)) width = driver.get_window_size()['width'] height = driver.get_window_size()['height'] sleep((1,3)) (width * 0.5, height * 0.9, width * 0.5, height * 0.1, 1000) lie = driver.find_elements(, ':id/tv_work_desc') for r in lie: = print() elif tou!=[]: sleep((1,3)) data = pd.read_excel(r'C:\Users\midong\Desktop\', header=None) ss = () t = = t[0] print() h = all([False for i in if i in (, )]) for i in : if i in or i in : sleep((1,2)) driver.find_element(,'//*[@text="立即沟通"]').click() sleep((1,3)) driver.find_element(,'//*[@text="新消息"]').send_keys('你好,我们是华南做短视频带货比较快的公司,正诚聘编导,方便发一下简历吗') sleep((1,3)) driver.find_element(,'//*[@resource-]/[1]/[1]').click() sleep((1,3)) driver.find_element(,':id/iv_back').click() sleep((1,2)) driver.find_element(,':id/iv_back').click() print(f'已经回复{}应聘者了') width = driver.get_window_size()['width'] height = driver.get_window_size()['height'] sleep((1,2)) (width * 0.2, height * 0.3, width * 0.4, height * 0.1, 1000) sleep((1,3)) break else: driver.find_element(,':id/iv_back').click() print('下一个招聘者') sleep(2) break break if __name__ == '__main__': (['', '-vs'])