【selenium实现自动联网】

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

安装selenium、python环境


一、安装Selenium

Selenium官网

anaconda环境为例,创建一个名为env_selenium的虚拟环境,若不需要可以不做第一、二步:

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

二、安装第三方WebDriver驱动

官方网站

  1. 首先明确自己需要使用的浏览器,第三方插件包含有[Mozilla](https://googlechromelabs.github.io/chrome-for-testing/#stable)、ChromeOperaEdge火狐i等
  2. 查看自己浏览器的版本
  3. 下载对应版本的第三方插件,点击上面对应浏览器名的超链接即可
  4. 将插件所在的本地目录添加到系统环境变量中

以Windows 10 下的Chrome为例,安装第三方插件流程如图所示:

  1. 查看当前浏览器版本
    在这里插入图片描述

  2. 网站上下载对应版本驱动(chrome)
    在这里插入图片描述
    在这里插入图片描述

  3. 解压至本地项目文件夹,例如本文解压至D:\otherTools\Inter\chromedriver_win32
    在这里插入图片描述
    注意:main.py为selenium实现代码,为方便可与下载驱动放在同一文件夹下

  4. 在系统变量Path中添加驱动所在目录
    在这里插入图片描述

  5. 在cmd中输入chromedriver查看是否添加成功
    在这里插入图片描述

三、实现代码

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 time

username = 'XXXXXXXX'        # 学号
password = 'XXXXXXXXXXX'     # 密码

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").text
        driver_test.quit()
    except Exception as e:
        print(e)
        return False
    if online_text == "您已成功连接校园网!":
        return True
    else:
        return False
def 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()

本文设置,每十分钟检测一次电脑是否断网,若断网则自动重新连接

四、运行代码

main.py文件所在路径 D:\otherTools\Inter\chromedriver_win32
selenium虚拟环境

在这里插入图片描述


总结

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值