[Python脚本]每天早上自动连接学校/公司网络

引:
学校的网络每天凌晨4点多好像会自动断开,第二天必须去实验室手动连上网络才行。要是我去不了实验室联网,那就远程连接不上我实验室的电脑,这非常不方便。

所以我想用python作脚本,可以自动打开连接学校网络的网址,然后自动填入我的账号密码,再自动登录。

我主要想法如下:
1.作循环,一定时间取当前时间的时,分,秒。
2.到预定时间,打开chrome,进入上网的网址,然后输入账号密码,点击上网按钮。
3.不到预定时间,sleep,不作操作

环境
selenium: pip install selenium
python3.7
去http://chromedriver.storage.googleapis.com/index.html下载chromedriver.exe(根据chrome的版本下载对应的)将下载好的chromedriver.exe解压后放到指定目录

代码:

# -*- coding: utf-8 -*-
"""
Created on Thu Jun 20 20:36:27 2019

@author: Administrator
"""

from selenium import webdriver
#from PIL import Image
#import pytesseract
import os,time
import datetime

def autologin_session():
    print("autologin start!")
    chromedriver = "D:\Temp\chromedriver.exe" #这里写本地的chromedriver 的所在路径
    os.environ["webdriver.Chrome.driver"] = chromedriver #调用chrome浏览器
    driver = webdriver.Chrome(chromedriver)
    driver.get("http:你的网址") #该处为具体网址
    driver.refresh() #刷新页面
    driver.maximize_window() #浏览器最大化
    #获取全屏图片,并截取验证码图片的位置
    #好像验证码在tesseract库识别总是不成功,反正我也不需要验证码,所以先贴出来
    '''driver.get_screenshot_as_file('a.png')
    location = driver.find_element_by_id('imgValidateCode').location
    size = driver.find_element_by_id('imgValidateCode').size
    left = location['x']
    top = location['y']
    right = location['x'] + size['width']
    bottom = location['y'] + size['height']
    a = Image.open("a.png")
    im = a.crop((left,top,right,bottom))
    im.save('a.png')
    time.sleep(1)
    #打开保存的验证码图片
    image = Image.open("a.png")
    #图片转换成字符
    vcode = pytesseract.image_to_string(image)
    print(vcode)'''
    #填充用户名 密码 验证码
    driver.find_element_by_id("password_name").send_keys("你的账号")//id和keys
    driver.find_element_by_id("password_pwd").send_keys("你的密码")//id和keys
    #driver.find_element_by_id("validateCode").send_keys(vcode)
    #点击登录 
    driver.find_element_by_id("password_submitBtn").click()//id
def sleeptime(hour,min,sec):
     return hour*3600 + min*60 + sec;//一开始写的没有用到
def timer():
   #引入time包
    #函数定义
    #设置自动执行间隔时间,我这里设置的2s
    #second = sleeptime(0,0,5);
    #死循环   
    print(datetime.datetime.now())
    num=0
    while 1==1:
        if(num==2):
            print("warning:had been down for twice!")
            return
        #延时
        #执行
        #print(datetime.datetime.now().hour)
        hour=datetime.datetime.now().hour
        minute=datetime.datetime.now().minute
        second=datetime.datetime.now().second
        print ("do action ",hour,minute,second);
        if(hour==7 and minute==10 ):
        	//我设置710分自动调用autologin_session()方法
            print("alarm~")
            autologin_session()//调用
            print ("autologin return:",hour,minute,second," alarm work");
            num=num+1
            time.sleep(3600);//调用完后先sleep1个小时吧
        time.sleep(60);//每一分钟检查一次是否到710分了

timer()

你可能感兴趣的:(python,python,脚本,自动化,自动上网)