保持校园网自动登录的代码备忘: 基于webdriver和chrome

在跑一个处理很多数据的代码,需要不间断地运行。而且最近打算回家一周,需要远程控制电脑。但是学校的校园网每到晚上就会自己断开,干脆写份脚本来保持校园网的连接

这份简单的代码只包括三个部分,检测网络状态的部分,自动登录校园网的部分,循环执行的部分、

import os
import time
import socket
from selenium import webdriver
from selenium.webdriver.common.by import By
 
#向网页发送请求来检查网络连接
def check_internet():
    try:
        socket.create_connection(("www.baidu.com", 80))
        return 1
    except OSError:
        return 0


#使用webdriver驱动模拟打开校园网网站并登录
def register():
    driver = webdriver.Chrome()
    driver.get("https://p2.nju.edu.cn/")
    user_name_='校园网账户'
    password_='校园网密码'
    time.sleep(10)
    driver.find_element(By.NAME,'username').send_keys(user_name_)
    time.sleep(1)
    driver.find_element(By.NAME,'password').send_keys(password_)
    time.sleep(1)
    driver.find_element(By.ID,'loginBtn').click()
    time.sleep(10)



#创建一个持续的循环,开始每隔10分钟检测一次网络,检测断网则开始自动连接
while True:
    try:
        flag=''
        print('Checking internet connection.........')
        flag=check_internet()
        if flag == 0:
            print('Internet unconnected---------Opening the website')
            register()
            print('Success!')
            time.sleep(600)        
            continue
        else:
            print('Internet is connected now')
            time.sleep(600)
            continue
    except:
        print('Error')
        time.sleep(600)
        continue

chrome的chrome driver来自Chrome for Testing availability (googlechromelabs.github.io)

需要首先查看chrome的版本,通过chrome://version/命令来在chrome浏览器中查看

posted @ 2024-07-03 14:53  Victooor_swd  阅读(87)  评论(0)    收藏  举报