Ubuntu20.04实现Python基于Selenium实现上海大学校园网自动登录

以anaconda环境为例,创建一个Selenium的虚拟环境:

一、安装selenium

1.   conda create -n selenium python==3.8
2.   conda activate selenium
3.  pip install selenium

二、安装第三方WebDriver驱动

我使用的是Chrome(这里就以ChromeDriver为例):

1.下载谷歌浏览器:

使用wget下载最新的Google Chrome .deb软件包:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
2.安装谷歌浏览器:
sudo apt install ./google-chrome-stable_current_amd64.deb
3.启动
4.查看版本:输入
chrome://version


版本为:99.0.4844.84

5.下载Chrome对应版本驱动


没有99.0.4844.84的话,可以忽略最后两个数字,选择99.0.4844.xx即可。

6.解压至文件夹,

这里我解压到/home/labtory702/Network_connect中

7.在环境变量中添加驱动所在目录:

在终端中输入:

sudo gedit ~/.bashrc


打开.bashrc文件后,在最后一行输入:

export CHROMERDRIVERPATH=$CHROMERDRIVERPATH:/home/labtory702/Network_connect


添加好之后保存关闭。
在终端输入:

source ~/.bashrc

之后重新再进一下刚刚建立好的虚拟环境中。
查看路径:

echo ${CHROMEDRIVERPATH}

8.验证安装:

输入chromedriver
出现下列错误:
解决方法,输入:

sudo apt install chromium-chromedriver
最后输入再输入:chromedriver,显示添加成功:


main.py代码如下:(代码来自于一位大佬的CSDN)

from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import socket
import timeusername = 'XXXXXXX'
password = 'XXXXXXX'def is_net_ok():driver_test = Chrome()driver_test.implicitly_wait(10)try:driver_test.get("http://10.10.9.9:8080")online_text = driver_test.find_element(By.ID, "userMessage").textdriver_test.quit()except Exception as e:print(e)return Falseif online_text == "您已成功连接校园网!":return Trueelse:return Falsedef main():while True:if is_net_ok():print("online!  fine!")time.sleep(600)else:print("offline!  sad!")driver = Chrome()try:driver.get("http://10.10.9.9:8080")driver.find_element(By.ID, "username").send_keys(username + Keys.ENTER + password)driver.find_element(By.ID, "loginLink_div").click()driver.quit()time.sleep(5)except Exception as e:print(e)driver.quit()     if __name__ == "__main__":main()

每10分钟检测一次是否断网,若断网则重新连接

参考资料
[1] 【Python】基于Selenium实现上海大学校园网自动登录

Ubuntu20.04实现Python基于Selenium实现上海大学校园网自动登录相关推荐

  1. 【Python】基于Selenium实现上海大学校园网自动登录

    [Python]基于Selenium实现上海大学校园网自动登录 安装selenium Selenium官网 以anaconda环境为例,创建一个Selenium的虚拟环境,若不需要可以不做第一.二步 ...

  2. 使用python或curl实现校园网自动登录

    一.引入 学校的校园网每天十二点断网,然后第二天六点恢复,学校允许外接路由器.但是呢,每天早上起来还得打开网页认证一下,尝试使用python脚本进行自动登录,很成功.但是呢,想想又很烦,还得使用pyt ...

  3. Python+BeautifulSoup+Selenium模拟浏览器循环自动播放视频,如哔哩哔哩某个UP主的视频

    1.前言 计算机的出现,推动了人类社会的进步,使得人们更高效的工作或是生活.当我们很"懒"的时候,计算机就能站出来,帮助我们做一些我们觉得浪费时间的事情了.你嫌用手点鼠标麻烦,计算 ...

  4. 利用python+selenium带上cookies自动登录bilibili

    利用python+selenium带上cookies自动登录bilibili 环境 selenium的安装 思路 第一部分:手动登录,保存cookies 第二部分:读取cookies自动登录 环境 环 ...

  5. python办公自动化系列之金蝶K3自动登录(二)

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  6. python自动登录教程_python实现校园网自动登录的示例讲解

    因为最近想用树莓派搞个远程监控系统,又因为学校的网需要从网页登录而树莓派又不方便搞个显示器带着,所以寻思着搞个能够自动登录校园网的脚本程序,省去了每次都要打开浏览器输入账号密码的烦恼. 1.工具 火狐 ...

  7. python自动登录校园网 密码_python实现校园网自动登录的示例讲解

    因为最近想用树莓派搞个远程监控系统,又因为学校的网需要从网页登录而树莓派又不方便搞个显示器带着,所以寻思着搞个能够自动登录校园网的脚本程序,省去了每次都要打开浏览器输入账号密码的烦恼. 1.工具 火狐 ...

  8. python校园网登录_python实现校园网自动登录的示例讲解

    python实现校园网自动登录的示例讲解 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  python实现校园网自动登录的示例讲解.txt ] (友情提示:右键点上 ...

  9. 利用Python实现校园网自动登录(部署在树莓派)

    利用Python实现校园网自动登录(部署在树莓派) 项目场景: 在实验室的时候,每天的第一个苦恼就是面对不自动弹窗的校园网登录,且一个账号仅支持两个设备. 实验室使用了路由器,多个设备使用同一个账号上 ...

最新文章

  1. 关于子业之间相互取得元素或者方法
  2. 使用 java 的 displaytag1.2 分页组件使用步骤
  3. rust(34)-Rust and WebAssembly(2)
  4. 高并发学习(二)安全发布对象/不可变对象/线程封闭
  5. Java读取properties配置文件时,中文乱码解决方法
  6. malloc动态内存分配
  7. crontab定时任务不生效问题解决
  8. 使用PyCharm快速安装TensorFlow
  9. 面向对象编程(十三)——面向对象三大特性之封装
  10. Java并发编程知识总结
  11. Flutter实战之Image和FadeInImage
  12. 李南江 html链接,HTML5教程-多媒体标签-李南江
  13. SteamVR Unity工具包(三):控制器交互
  14. 胡灵 c语言,C语言门真相
  15. 基于php+mysql的大学生四六级英语考试报名成绩管理
  16. 115CSS3+JS:胶卷式放映
  17. element-ui中el-upload在ie10中无法上传相同图片的问题:XMLHttpRequest: 网络错误 0x2efd, 由于出现错误 00002efd 而导致此项操作无法完成。
  18. java timer 动画_java – 使用Swing动画进行计时
  19. java tr合并单元格_java poi合并单元格问题
  20. FOC中电流环调试的宝贵经验总结

热门文章

  1. 安编程中使用handleMessage实现线程之间数据交互
  2. mysql 错误代码1171
  3. linux网卡缓冲区设置,【Linux】tcp缓冲区大小的默认值、最大值
  4. 买翻100倍以上的股票买最受益于中国经济腾飞的少年型股票(2009-05-31 01:49:25)
  5. 亚太部分地区物联网资产实际暴露情况
  6. Spark 生成 janusgraph adjacent list
  7. RPA技术这么强,为什么机器人还会让人失望呢?
  8. hibernate uniqueResult方法(转载)
  9. Redis数据类型 - 位图(bitmap)
  10. 修改hosts文件无法保存,只能另存为txt的解决方法