本人也只是出步瞭解自動化,腳本寫得比較爛,但基本上運行沒問題,但願有技術的大大能給些指導。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[]裏的數字。測試