想要用python实现自动打卡你需要依靠以下两个第三方库
1、selenium
2、apscheduler
说明一下,我这里默认你已经安装好了python
那么首先你要安装selenium,在cmd.exe中运行pip install selenium。
注意selenium需要浏览器驱动支持,下载你浏览器对应版本的驱动,配置好环境变量。
详细的可以到这里看一下http://blog.csdn.net/lee1169639/article/details/77365988
接下来是安装apscheduler,这个库有很多依赖,所以你通过下载.whl文件或下载源码的方式安装可能会安装失败,
最好直接用pip install apscheduler安装,这种方式会自动安装依赖。
接下来就是代码部分,其实很简单,通过selenium抓取页面上的输入、button等,然后再用apscheduler做个定时任务即可
我这里只做一个定时到百度页面搜索"python"这么一个任务
我相信我做到这样你们应该就可以继续完成了,
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from apscheduler.schedulers.blocking import BlockingScheduler
#用户名、密码
py="python"
#打卡时间
c_minute="38"
c_hour="8,18"
c_week="mon-fri"
def work():
try:
#打开浏览器,进入百度搜索
browser = webdriver.Chrome()
browser.get('http://www.baidu.com')
#输入python
elements = browser.find_elements_by_id('kw')
elements.clear()
time.sleep(2)
elements.send_keys(py + Keys.ENTER)
#退出浏览器
#browser.quit()
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())+": Clock Success!")
except:
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())+": Clock Filed!")
if __name__ == '__main__':
#添加任务
scheduler = BlockingScheduler()
#设置定时任务时间
scheduler.add_job(work,'cron', minute=c_minute,hour=c_hour,day_of_week=c_week)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())+": Add Task Work!")
try:
scheduler.start()
except (KeyboardInterrupt, SystemExit):
scheduler.shutdown()
如果我那里写的有问题欢迎大家指出来,
如果谁有哪里看不懂也可以留言问我。
目前我也在用这种方式打卡