Python实现校园网自动连接

news2024/10/5 15:33:39

用过校园网的小伙伴可能深有体会,在连接上校园网之后,需要再进行一个用户认证,才算真正的连接成功。这就会带来一些问题,比如若在长时间内没有网络请求,用户认证就会失效,它会自动断开校园网,这时,需要重新认证才能解决。我看了眼上网明细,发现系统喜欢在夜里3:00悄眯地下线,主打一个神不知鬼不觉~

 这对于一些经常需要远程控制桌面的小伙伴并不方便,连不上网自然也就无法在这边进行重连。我们学校的认证界面如下。解决的办法也很简单,只需要写一个代码,实现在指定时间内打开校园网认证的网页,输入账号密码并点击登录即可。


第一步,你需要一个谷歌浏览器,并安装对应版本的驱动。

在设置里的“关于Chrome”里面可以看到自己的版本号

 然后在https://sites.google.com/chromium.org/driver/downloads下载合适的驱动版本,版本号相近即可,我下载的是第一个

解压后得到两个文件,放到谷歌浏览器的目录下 。这里chromedrive.exer的路径需要放到后面的代码中

第二步,运行代码。

我是用Python写的,代码如下 

from selenium import webdriver
import time

# 设置要打开的时间
open_time = "2023-07-14 18:00:00"

# 等待到指定时间再执行后续代码
while True:
    current_time = time.strftime("%Y-%m-%d %H:%M:%S")
    print(current_time)
    if current_time >= open_time:
        break
    time.sleep(60)  # 每隔60秒循环一次

# 用谷歌浏览器实现
driver = webdriver.Chrome("C:\Program Files\Google\Chrome\Application\chromedriver.exe")  # 双引号内放的是刚刚解压出来的chromedriver.exe的地址
driver.get("XXX")  # 将XXX换成校园网的网址
time.sleep(3)  # 打开网页后等待3秒再点击登录
try:
    username_box=driver.find_element_by_id("username")
    username_box.send_keys("XXX")  # 将XXX换成你的账号
    password_box = driver.find_element_by_id("password")
    password_box.send_keys("XXX")  # 将XXX换成你的密码
    btn = driver.find_element_by_id("login-account")
    btn.click()
except Exception:  # 本来就处于登录的状态
    print("wrong: it has been connected!")
    pass
else:
    print("connection successful!")
time.sleep(1)

注意:

  • 需要selenium库的支持。
  • 代码中XXX的部分需要根据注释进行替换成你自己的。
  • 此代码根据 id 属性来定位网页上的输入框和按钮,id 属性从网页的源代码(按F12)中得到,获取方法不再赘述。也可以使用xpath、class等属性来定位,想了解的朋友可以看这里用Python点击网页按钮_笔记大全_设计学院。

 当然,它只实现了在某一个时间点进行自动连接,过了这个时间点之后,需要我们重新设置下一次自动连接的时间。这在某些场景下仍然不够方便,如果改成每天都在两个特定的时间点(比如早6和晚6)各尝试连接一次,就更好了。感兴趣的朋友可以在此代码的基础上进一步改进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/757914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 系统开发工具

Android 系统开发工具 1、SSH 服务与 Tabby Terminal1.1 配置 Ubuntu ssh 服务 2、Samba 服务器搭建3、Idegen Android Studio 查看源码3.1 修改android.iml文件 (可选) 4、AIdegen Android Studio 查看源码4.1 准备工作4.2 Android Studio 配置4.2.1 添加源码中的 jdk 和 sd…

两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。…

arcgis实现影像监督分类

1、打开ArcMap,右击空白处打开影像分类工具栏,如下: 2、打开影像,如下: 打开的影像由于未经处理,颜色看起来很昏暗,这时候可以拉伸一下。具体操作,右击图层选择属性,如下&#xff1a…

python使用websockets进行数据传输

背景说明: 最近在研究一个智能监控系统,后台通过rtsp读取摄像头视频流,使用yolov算法进行目标检测,然后将检测的视频帧通过字符串的方式抛转到前台html页面显示,需要用到前后台数据交互技术,查询资料发现w…

ShareX设置快捷键、自定义保存路径、取消上传等设置

让ShareX变成顺手的形状 设置篇ShareX设置快捷键ShareX设置自定义保存路径ShareX取消自动上传和打开OCR 使用篇OCR 设置篇 ShareX设置快捷键 ShareX设置自定义保存路径 ShareX取消自动上传和打开OCR 为什么取消上传功能:因为不需要自动把本地截图自动上传到远程服务…

Vue3 使用存储库Pinia(getters)

一、store.js创建getters import { defineStore } from "pinia"; export const useStore defineStore(main, {state() { // state表示这个store里的状态,也就是存放数据的地方return {name: 张三,age:26 }},actions: { // 和vue中的methods一样updateA…

前端必会的三种DIV+CSS布局

要开发网页,必须要搞懂这三种divcss布局技术!(1)左右两列布局;(2)1行3列;(3)1行多列或多行多列布局;只要你掌握了这三种布局方式,那搭…

2核4G服务器腾讯云或阿里云能安装几个网站?性能如何?

2核4G服务器能安装多少个网站?2核4g配置能承载多少个网站?一台2核4G服务器可以安装多少个网站?阿腾云2核4G5M带宽服务器目前安装了14个网站,从技术角度是没有限制的,只要云服务器性能够用,想安装几个网站就…

java之maven专题

1、idea配置maven https://blog.csdn.net/hanmingjun/article/details/129977880 2、阿里云补充缺少的jar包 到官方下载好jar包到这里上传 maven中配置跳过单元测试 https://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-tests.html

记录--再也不用手动改package.json的版本号

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文的起因是有在代码仓库发包后,同事问我“为什么package.json 里的版本还是原来的,有没有更新?”,这个时候我意识到,我们完全没有必要在每…

lwip-2.1.3自带的httpd网页服务器使用教程(二)使用SSI动态生成网页部分内容

上一篇:lwip-2.1.3自带的httpd网页服务器使用教程(一)从SD卡读取网页文件并显示 通过全局数组定义TAG标签列表 (本节例程名称:ssi_test) 电脑上用的Web服务器采用ASP、PHP或JSP动态网页技术后&#xff0c…

Verdi之状态机状态查询nState

目录 5. nState 5.1如何打开状态机视图 5.2 如何在状态机视图中添加状态转移条件 5.3 如何查看状态机个状态对应的相关代码 5.4 查看具体的状态机状态转移时间点 5.5 查找自定义状态 5.6 查找某个状态执行的次数 5. nState 5.1如何打开状态机视图 1. 将设计文件导入Ver…

人脸识别学习

1、人脸识别如何做到一次学习 (1)、数据收集:收集包含多个人脸图像的数据集,每个人脸图像都有对应的标签或身份信息。 (2)、图像预处理:对数据集中的每个人脸图像进行预处理,包括图…

pytorch的配置从此不在愁

anaconda配置 原视频的配置网站:Anaconda pytorch: 【从入门到进阶】PyTorch深度学习框架完结合集!草履虫都能学会的计算机视觉实战(PyTorch安装/深度学习实战/神经网络/人工智能)_哔哩哔哩_bilibili 上面的视频 …

开放麒麟操作系统能打动嵌入式软件工程师吗?

国产操作系统大部分客户其实是toB的,内核以外的源码也是不开源的,比如麒麟系、统信UOS等,个人学习、小企业基本不会用。7月5日开放麒麟操作系统v1.0版正式发布,不同点是这个操作系统从内核到桌面系统源代码都是开源的,…

SpringCloud Alibaba——Nacos1.x配置中心长轮询机制

目录 一、Nacos1.x配置中心长轮询机制二、Nacos1.x配置中心长轮询机制流程图解 一、Nacos1.x配置中心长轮询机制 客户端会轮询向服务端发出一个长连接请求,这个长连接最多30s就会超时,服务端收到客户端的请求会先判断当前是否有配置更新,有则…

网络协议 — LLDP 数据链路发现协议

目录 文章目录 目录LLDPLLDPDUEthernet II LLDPDUSNAP LLDPDULLDPDU TLVs基本 TLV802.1 定义的 TLV802.3 定义的 TLV802.3 定义的 LLDP-MED TLV LLDP 消息流程LLDP 协议栈 LLDP LLDP(Link Layer Discovery Protocol,链路层发现协议)是定义在…

Windows环境下安装Nacos

文章目录 一、什么是Nacos1. 主要特点:1.1 服务发现和注册:1.2 配置管理:1.3 服务管理:1.4 多语言支持:1.5 高可用性和扩展性: 二、Windows下安装单机版Nacos1. 安装包下载:2. 目录文件说明&…

基于torchvision的CV迁移学习

前面我们用过了cifar10,这里因为我们模型的体量更大,他能够理解更加复杂的数据集,所以这里我们就使用更加复杂的数据集叫做cifar100,顾名思义就是它是一个100分类的图像数据集,分类数据更多,复杂度更多。 …

哈希表(hashtable)的数据插入、查找和遍历

文章目录 前言一、哈希二、哈希的具体实现2.1 准备工作2.2 插入数据2.3 输出哈希表2.4 在哈希表中寻找数据2.5 销毁哈希表 三、 哈希表的调用总结 前言 本期主要和大家介绍一下哈希算法,这里主要给出哈希算法的实现方法; 一、哈希 hash是一种算法: 哈希…