拉勾招聘,自動化投遞簡歷腳本

本人也只是出步瞭解自動化,腳本寫得比較爛,但基本上運行沒問題,但願有技術的大大能給些指導。html

因爲最近在找工做,智聯跟前程無憂都有一鍵投遞功能,拉勾跟BOSS直聘的話只能一個一個點,對於正在海投的小夥伴們來講工做量挺大的,python

給你們分享個用python+selenium編寫的自動投遞腳本。web

主要用的谷歌瀏覽器、安裝好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("********")               #輸入本身的QQ!!!!
A.find_element_by_id("p").send_keys("*********")               #密碼
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[]裏的數字。測試

相關文章
相關標籤/搜索