本人也只是出步了解自动化,脚本写得比较烂,但基本上运行没问题,希望有技术的大大能给些指导。
由于最近在找工作,智联跟前程无忧都有一键投递功能,拉勾跟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[]里的数字。
浙公网安备 33010602011771号