使用selenium实现前程无忧简历自动刷新

使用selenium实现前程无忧简历自动刷新
image.png

使用过前程无忧,智联招聘等这些招聘网站的都知道,网站都会有一个简历刷新功能,hr那边检索简历都时候网站会根据求职者简历的刷新时间来进行排序,所以如果你想要你的简历排在前列,让hr一眼看见的话,那就勤刷新,隔段时间刷新一次,或者花钱购买网站提供的增值服务,帮你置顶。
不过花钱不存在的,天天守着电脑刷新简历也是不可能滴~
那就动手写个自动刷新的python脚本好了。

导入所需包

1.selenium是一个自动化测试工具,我们可以通过selenium调用各种浏览器,然后像一个真正的用户去操作,支持的浏览器包括Chrome,Firefox,Safari,PhantomJS等。
2.time包我们用来控制页面等待和循环。

from selenium import webdriver
import time

登录账号

使用selenium实现前程无忧简历自动刷新
前程无忧登录界面

这是前程无忧的登录界面,通过id去定位账号密码框,填入自己的账号密码,然后定位登录按钮点击就可以完成登录了。
需要注意一下的是如果长时间未登录账号或者是在一台新的电脑上登录账号,可能需要填写验证码,在执行之前自己先在浏览器登录下应该就不用填写验证码了。

driver=webdriver.Safari()
driver.get("https://login.51job.com/")
driver.maximize_window()
time.sleep(5)
driver.find_element_by_id("loginname").send_keys("你的账号")
driver.find_element_by_id("password").send_keys("你的密码")
time.sleep(5)
driver.find_element_by_id("login_btn").click()
time.sleep(10)

刷新简历

使用selenium实现前程无忧简历自动刷新
我的51job

登录成功之后就会跳转到我的51job界面,然后定位刷新的按钮点击下便完成任务了。
我这边是加入了一个时间的循环,每20分钟刷新一次。

while True:
    current_time = time.localtime(time.time())
    if((current_time.tm_min%2 == 0) and (current_time.tm_sec == 0)):
        driver.refresh()
        time.sleep(10)
        driver.find_element_by_xpath("/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div/div[2]/span[1]").click()
    elif((current_time.tm_hour == 18) and (current_time.tm_sec == 0)):
        driver.close()
        break

完整代码

# -*- coding:utf-8 -*-
from selenium import webdriver
import time

driver=webdriver.Safari()
driver.get("https://login.51job.com/")
driver.maximize_window()
time.sleep(5)
driver.find_element_by_id("loginname").send_keys("你的账号")
driver.find_element_by_id("password").send_keys("你的密码")
time.sleep(5)
driver.find_element_by_id("login_btn").click()
time.sleep(10)


while True:
    current_time = time.localtime(time.time())
    if((current_time.tm_min%20 == 0) and (current_time.tm_sec == 0)):
        driver.refresh()
        time.sleep(10)
        driver.find_element_by_xpath("/html/body/div[3]/div[3]/div[2]/div[1]/div[2]/div/div[2]/span[1]").click()
    elif((current_time.tm_hour == 18) and (current_time.tm_sec == 0)):
        driver.close()
        break

看了下智联招聘的简历置顶服务是一个月98元,嗯,这20行代码感觉还挺值钱的~


Peace~

上一篇:Javascript 刷新框架及页面的方法总集


下一篇:[erlang]一次erlcron崩溃引起的事故分析