本人也只是出步了解自动化,脚本写得比较烂,但基本上运行没问题,但愿有技术的大大能给些指导。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[]里的数字。测试