使用python和selenium以及Edgedriver实现登录校园网自动化(Ecjtu)

1.安装visual Studio Code 配置Python环境

【教程】VScode中配置Python运行环境

2.安装pyinstaller

打开win+r,cmd,输入如下所示安装pyinstaller
在这里插入图片描述

3.在Python中配置selenium环境

打开win+r,cmd,输入pip install selenium==4.5

4.安装对应的浏览器驱动程序

此时以Edge浏览器为例
这是链接- Edgedriver
将得到的exe文件放到Edge根目录中(直接在Edge图标右键-打开文件所在地)

5.编写代码

import time
# 导入selenium包
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select#这一步感觉不太重要,应该可有可无

# 启动并打开指定页面
browser = webdriver.Edge()#
browser.maximize_window()
browser.get("你的学校的url")
# 通过xpath定位输入框,输入内容selenium
#在浏览器空白处右键-检查-Crtl+Shift+c-选择你所需要键入内容的位置-对应的区域右键(如图一)-选择XPATH(如图二)
#browser.find_element(By.XPATH, '键入你所需要的的XPATH'),下面三行就这么改
browser.find_element(By.XPATH, '//*[@id="edit_body"]/div[3]/div[3]/form/input[2]').send_keys('修改为你的用户名')
browser.find_element(By.XPATH, '//*[@id="edit_body"]/div[3]/div[3]/form/input[3]').send_keys('修改为你的密码')
#下面三行选择你对应的运营商,删除不用的两行
browser.find_element(By.XPATH, '//*[@id="edit_body"]/div[3]/select/option[2]').click()#中国移动
browser.find_element(By.XPATH, '//*[@id="edit_body"]/div[3]/select/option[3]').click()#中国联通
browser.find_element(By.XPATH, '//*[@id="edit_body"]/div[3]/select/option[4]').click()#中国电信
time.sleep(1)
browser.find_element(By.XPATH, '//*[@id="edit_body"]/div[3]/div[3]/form/input[1]').click()
time.sleep(5)
browser.quit()

图一图一
在这里插入图片描述图二

尝试调试运行!!不是直接运行,因为没有将EdgeDriver添加到环境变量当中

6.将EdgeDriver添加到环境变量

此电脑右键-关于-高级系统设置-环境变量-双击path-新建(路径为第4步你放置的路径)。
关机!!!关机了才可以使得环境变量生效,
再尝试打开第五步的文件直接运行(不用在调试了)。

7.将Python生成的.py文件封装为.exe文件

在你保存的.py文件夹-搜索路径中输入cmd调出cmd,
输入pyinsraller -F -w (按Tab)之后按回车。
开始封装,在生成的distl文件夹有最终的.exe文件。

8.双击.exe

成功后如果想开机自动运行可以看鸣谢第三个链接
时间轴 10.15

8.鸣谢

大佬的博客 基于Python的Selenium详细教程
[教程]VScode中配置Python运行环境
B站 校园网自动登录&适用于网页认证POST方法&python

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的基于 PythonSelenium 的 UI 自动化测试框架。 首先,我们需要安装 Selenium: ```bash pip install selenium ``` 接下来,我们需要下载对应浏览器的驱动程序,例如 Chrome 浏览器的驱动程序可以在以下链接中下载: [https://sites.google.com/a/chromium.org/chromedriver/downloads](https://sites.google.com/a/chromium.org/chromedriver/downloads) 下载后将驱动程序放在一个合适的目录中,并将该目录添加到系统环境变量中。 然后,我们可以编写一个基本的测试类: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class TestFramework: def __init__(self): self.driver = webdriver.Chrome() self.wait = WebDriverWait(self.driver, 10) def test_google_search(self): self.driver.get("https://www.google.com/") search_input = self.driver.find_element_by_name("q") search_input.send_keys("Selenium") search_input.send_keys(Keys.RETURN) results = self.wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "g"))) for result in results: print(result.text) def cleanup(self): self.driver.quit() ``` 在上面的代码中,我们首先初始化了一个 Chrome 浏览器的 WebDriver 对象,并创建了一个 WebDriverWait 对象,用于等待页面元素加载完成。然后我们定义了一个测试方法 test_google_search,该方法打开 Google 搜索首页,输入“Selenium”,并打印搜索结果。最后我们定义了一个 cleanup 方法,在测试结束后关闭浏览器。 我们可以使用 unittest 模块来运行这个测试类: ```python import unittest class TestGoogleSearch(unittest.TestCase): def setUp(self): self.framework = TestFramework() def test_search(self): self.framework.test_google_search() def tearDown(self): self.framework.cleanup() if __name__ == '__main__': unittest.main() ``` 在上面的代码中,我们使用 unittest 模块来运行测试类 TestGoogleSearch,在 setUp 和 tearDown 方法中创建和销毁 TestFramework 对象,实现了测试的自动化运行。 这只是一个简单的框架示例,实际应用中还需要考虑测试数据管理、测试报告生成、异常处理等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值