本人也只是出步了解自動化,腳本寫得比較爛,但基本上運行沒問題,希望有技術的大大能給些指導。
由於最近在找工作,智聯跟前程無憂都有一鍵投遞功能,拉勾跟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("********") #輸入自己的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[]里的數字。
