南邮这个校园网,每当电脑空闲一段时间后就会自动注销,之后打开电脑就要重新登陆账号,虽然浏览器可以记住账号密码,也就是多几步的操作而已,但是出于兴趣,在网上学习了一下如何编写自动化脚本自动检测网络状态,达到断网自连的效果,参考了几位南邮同学的文章,下面是我综合几位同学代码,取长补短修改后的版本。
1 安装库文件
首先,需要安装pyinstaller
,这个库文件可以将python
代码打包成exe
文件。
pip install pyinstaller
其次,需要安装selenium
,这个库文件是连接浏览器的自动化脚本,安装对应浏览器的驱动器后,可以实现自动打开浏览器,然后完成账号登陆的功能。
我使用的是Edge浏览器,所以我直接将Edge浏览器升级到最新版本,然后安装最新版本的Edge WebDriver即可。
附上链接:Edge WebDriver 下载
然后,将下载好的驱动器文件移动到python.exe对应的文件下,即与python.exe处在同一个文件夹下。这里我使用的是虚拟环境,因此我将文件移动到虚拟环境的python.exe所在的文件夹下,如图所示。
2 编写自动化脚本文件
详细代码如下:
# 南京邮电大学移动电信校园网自动登录脚本
# created by nelson 2024.9.10
import socket
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
import subprocess
# 检查网络能否链接到Internet
def isNetOK(testserver):
s = socket.socket()
s.settimeout(1)
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)