Python3自动签到 定时任务 判断节假日的实例
不废话,直接上代码Python3.6
签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充
#-*-coding:utf-8-*-
importjson
importurllib.request
importdatetime
#模拟浏览器打开网站
browser=webdriver.Chrome()
browser.get('http://**.**.121.54/')
#将窗口最大化
browser.maximize_window()
#根据路径找到按钮,并模拟进行点击
browser.find_element_by_id('btn').click()
#延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(2)
#这里是找到输入框,发送要输入的用户名和密码,模拟登陆
browser.find_element_by_id(
"username").send_keys("123456")
browser.find_element_by_id(
"password").send_keys("123456")
#在输入用户名和密码之后,点击登陆按钮
browser.find_element_by_id('btn').click()
time.sleep(2)
#点击登陆后的页面中的签到,跳转到签到页面
browser.find_element_by_id("signInCoin").click()
time.sleep(2)
#这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
print("签到成功")
#脚本运行成功,退出浏览器
browser.quit()
定时任务代码
importtime
fromdatetimeimportdatetime,timedelta
fromtimeimportsleep
SECONDS_PER_DAY=24*60*60
defdoFunc():
print"doFunction..."
defdoFirst():
curTime=datetime.now()
print(curTime)
desTime=curTime.replace(hour=20,minute=0,second=0,microsecond=0)
print(desTime)
delta=curTime-desTime
print(delta)
skipSeconds=SECONDS_PER_DAY-delta.total_seconds()
print("Nextdaymustsleep%dseconds"%skipSeconds)
sleep(skipSeconds)
#时间到执行方法
doFunc()
if__name__=="__main__":
doFirst()
判断当前日期是否是节假日
1、接口地址:http://api.goseek.cn/Tools/holiday?date=数字日期
2、返回数据:工作日对应结果为0,休息日对应结果为1,节假日对应的结果为2
3、节假日数据说明:本接口包含2017年起的中国法定节假日数据,数据来源国务院发布的公告,每年更新1次,确保数据最新
#获取当前时间格式20180213
nowTime=time.strftime('%Y%m%d',time.localtime())
date=nowTime
#节假日接口
server_url="http://api.goseek.cn/Tools/holiday?date="
vop_url_request=urllib.request.Request(server_url+date)
vop_response=urllib.request.urlopen(vop_url_request)
vop_data=json.loads(vop_response.read())
#打印返回的Json串
print(vop_data)
ifvop_data['data']==0:
print('Thisdayisweekend6-7')
elifvop_data['data']==1:
print('Thisdayisweekend6-7')
elifvop_data['data']==2:
print('Thisdayisholiday')
else:
print('Error')
根据当前日期是否是节假日进行,自动签到打卡案例
#-*-coding:utf-8-*-
importjson
importurllib.request
importdatetime
#方便延时加载
importtime
fromseleniumimportwebdriver
SECONDS_PER_DAY=24*60*60
##定时执行的任务
fromdatetimeimportdatetime,timedelta
fromtimeimportsleep
defdoFirst():
curTime=datetime.now()
print(curTime)
desTime=curTime.replace(hour=7,minute=45,second=0,microsecond=0)
print(desTime)
delta=desTime-curTime
sleeptime=delta.total_seconds()%SECONDS_PER_DAY
print(sleeptime)
print("Nowdaymustsleep%dseconds"%sleeptime)
sleep(sleeptime)
#nowTime=datetime.datetime.now().strftime('%Y%m%d')#现在
nowTime=time.strftime('%Y%m%d',time.localtime())
date=nowTime
server_url="http://api.goseek.cn/Tools/holiday?date="
vop_url_request=urllib.request.Request(server_url+date)
vop_response=urllib.request.urlopen(vop_url_request)
vop_data=json.loads(vop_response.read())
print(vop_data)
ifvop_data['data']==0:
#模拟浏览器打开网站
browser=webdriver.Chrome()
browser.get('http://***.***.***.***/')
#将窗口最大化
browser.maximize_window()
#根据路径找到按钮,并模拟进行点击
browser.find_element_by_id('btn').click()
#延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(2)
#格式是PEP8自动转的
#这里是找到输入框,发送要输入的用户名和密码,模拟登陆
browser.find_element_by_id(
"username").send_keys("123456")
browser.find_element_by_id(
"password").send_keys("123456")
#在输入用户名和密码之后,点击登陆按钮
browser.find_element_by_id('btn').click()
time.sleep(2)
#点击登陆后的页面中的签到,跳转到签到页面
browser.find_element_by_id("signInCoin").click()
time.sleep(2)
#这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
print("签到成功")
#脚本运行成功,退出浏览器
browser.quit()
elifvop_data['data']==1:
print('Thisdayisweekend6-7')
elifvop_data['data']==2:
print('Thisdayisholiday')
else:
print('Error')
if__name__=="__main__":
doFirst()
以上这篇Python3自动签到定时任务判断节假日的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。