拉勾招聘,自动化投递简历脚本

本人也只是出步了解自动化,脚本写得比较烂,但基本上运行没问题,希望有技术的大大能给些指导。

由于最近在找工作,智联跟前程无忧都有一键投递功能,拉勾跟BOSS直聘的话只能一个一个点,对于正在海投的小伙伴们来说工作量挺大的,

给大家分享个用python+selenium编写的自动投递脚本。

主要用的谷歌浏览器、安装好python(安装完成时记得勾选配置环境变量)、seleniuim工具(可以在cmd命令窗口输入pip install selenium),下载个谷歌的webdriver插件。

需要在拉勾上传好附件简历。

from selenium import webdriver
from time import sleep
# from selenium.webdriver.common.action_chains import ActionChains
# from selenium.webdriver.common.keys import Keys
#启动谷歌
A = webdriver.Chrome()            #选择浏览器
lg_url="https://www.lagou.com/"      #拉勾网url
A.maximize_window()         #窗口最大化
A.implicitly_wait(3)        #设置超时访问为3秒
A.get(lg_url)                     #前往

def qiehuan():
    all=A.window_handles
    A.switch_to.window(all[-1])

try:
    A.find_element_by_link_text("深圳站").click()              #切换深圳场地
except:
    print("无切换站点")
A.find_element_by_xpath("//*[@id='lg_tbar']/div/ul/li[1]/a").click()        #点击首页登陆
sleep(0.5)
A.find_element_by_xpath("/html/body/section/div[4]/ul/li[3]/a").click()         #由于密码登陆要验证码,所以点QQ登陆
sleep(0.5)
qiehuan()
A.switch_to.frame("ptlogin_iframe")
A.find_element_by_id("switcher_plogin").click()
A.find_element_by_id("u").send_keys("1056338990")               #输入自己的QQ!!!!
A.find_element_by_id("p").send_keys("xia970419")               #密码
sleep(1)
A.find_element_by_id("login_button").click()
sleep(1)
A.find_element_by_xpath("//*[@id='search_input']").send_keys("接口测试")      #输入岗位
A.find_element_by_xpath("//*[@id='search_button']").click()             #搜索W
sleep(0.5)
#招聘信息:最新
A.find_element_by_xpath("//*[@id='order']/li/div[1]/a[2]").click()
sleep(1)
#月薪5-10
A.find_element_by_xpath("//*[@id='order']/li/div[2]/div/span").click()
A.find_element_by_xpath("//*[@id='order']/li/div[2]/div/ul/li[5]/a").click()
sleep(1.5)
#工作性质:全职
A.find_element_by_xpath("//*[@id='order']/li/div[3]/div/span").click()
A.find_element_by_xpath("//*[@id='order']/li/div[3]/div/ul/li[2]/a").click()
sleep(1.5)
#学历
# A.find_element_by_xpath("//*[@id='filterCollapse']/li[2]/a[2]").click()
# sleep(0.5)
#遍历投递
n=1                     #当前页数
while n<=10:                                #投递简历的页数,一页为15个岗位
        print("第%d页" %(n))
        all_li="//*[@id='s_position_list']/ul/li"
        for i in range(1,16):               #遍历投递第一页招聘信息15个岗位
            i=[i]
            i=all_li + str(i)
            biaoti=A.find_element_by_xpath(i +"/div[1]/div[1]/div[1]/a/h3").text        #获取li中的岗位标题
            xinzi=A.find_element_by_xpath(i +"/div[1]/div[1]/div[2]/div[1]/span").text  #获取liW中的薪资
            print("职位", biaoti,xinzi)                       #打印岗位信息
            sleep(0.5)
            A.find_element_by_xpath(i +"/div[1]/div[1]/div[1]/a/h3").click()            #逐个点击招聘标题
            sleep(0.5)
            qiehuan()
            sleep(1)
            try:
                A.find_element_by_xpath("/html/body/div[2]/div/div[2]/ul/div/li[1]/span[1]").click()        #附件简历
            except:
                pass
            sleep(0.5)
            try:
                A.find_element_by_xpath("/html/body/div[2]/div/div[2]/div[1]/div[2]/a").click()     #投递简历
            except:         #如果已经投递过则关闭当前窗口,进行下一个岗位投递
                A.close()
                continue
            try:
                A.find_element_by_xpath("//*[@id='delayConfirmDeliver']").click()           #提示简历不符合,依然投递
                sleep(1)
                A.find_element_by_xpath("//*[@id='knowed']").click()            #确认投递成功
                sleep(1)
            except:
                pass
            A.close()           #关闭当前窗口
            qiehuan()           #返回上层窗口
            if i==15:
                break
        sleep(1)
        yeshu=A.find_elements_by_xpath("//*[@id='s_position_list']/div[2]/div/span")        #获取页数
        yeshu[-1].click()                       #点击下一页
        qiehuan()
        n=n+1                   #页数递增

sleep(5)
A.quit()

 QQ的话输入自己的QQ账号,密码;岗位也能修改;薪资、学历可根据自身需求更改li[]里的数字。

猜你喜欢

转载自www.cnblogs.com/ADJJ/p/10607546.html