南京邮电大学校园网经常掉线怎么办?
答:写一个自动化脚本,自动检测网络连接,断网自动登录。
老板再也不用担心我人在宿舍而实验室的电脑断网了。
废话不多说,直接上干货,代码如下:
#!/usr/bin/env python
# coding=utf-8
import wmi
from selenium import webdriver
import datetime
import time
import requests
import socket
from os import path
def login(username,password):
print("账号:"+username+"密码"+password)
try:
chrome_options = webdriver.ChromeOptions()
# prefs = {"profile.managed_default_content_settings.images": 2}
# chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get(
"http://p.njupt.edu.cn/a70.htm?wlanuserip=10.163.164.221&wlanacip=10.255.252.150&wlanacname=XL-BRAS-SR8806-X")#根据自己连接的不同校园网设置不同的网址
time.sleep(3)
# driver.maximize_window()
print("账号:" + username + "密码" + password)
driver.find_element_by_xpath("/html/body/div/div/div[2]/div[4]/form/input[3]").send_keys(username)
driver.find_element_by_xpath("/html/body/div/div/div[2]/div[4]/form/input[4]").send_keys(password)
time.sleep(1)
driver.find_element_by_xpath("/html/body/div/div/div[2]/div[4]/form/input[2]").click()
time.sleep(2)
if driver.title == "认证成功页":
driver.close()
return True
else:
time.sleep(1)
print("登录失败:账号:" + username + "密码" + password)
try:
print("登录失败正在重试")
driver.find_element_by_xpath("/html/body/div/div/div/div[7]/form/input").click()
time.sleep(2)
driver.find_element_by_xpath("/html/body/div/div/div[2]/div[4]/form/input[3]").send_keys(username)
driver.find_element_by_xpath("/html/body/div/div/div[2]/div[4]/form/input[4]").send_keys(password)
time.sleep(1)
driver.find_element_by_xpath("/html/body/div/div/div[2]/div[4]/form/input[2]").click()
time.sleep(2)
except Exception as e:
driver.close()
return False
driver.close()
return True
except Exception as e:
try:
driver.close()
except Exception as e:
return False
return False
def isNetOK(testserver):
s=socket.socket()
s.settimeout(3)
try:
status = s.connect_ex(testserver)
if status == 0:
s.close()
return True
else:
return False
except Exception as e:
return False
def isConnected():
q=('www.baidu.com',443)
return isNetOK(q)
if __name__ == "__main__":
username, password = 20220101,123456 #账号密码
print("启动成功:账号:"+username+"密码"+password)
while(True):
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print("现在时间:"+now)
print("在线状态:" +isConnected().__str__())
if isConnected()==False:
login(username,password)
time.sleep(60)
需要安装谷歌浏览器,并安装python以及上面调用的库,并将此代码文件放入谷歌浏览器安装目录下使用。