前言:

又到了一学期一度的渣电的退补选,退补选这东西 谁退了谁抢到就是本事,闲着没事,写一个自动化抢课脚本。

使用方法:`

  1. 安装selenium
  2. username改成自已的学号
    pwd改成自已的密码
  3. coursePath修改成自已想要的课的xpath路径,得到xpath的方法为
    使用chrome打开选课页面,找到所选课程,右键"检查",然后再调试界面默认选择的蓝色区域右键copy->copy xpath.即可
    如果xpath中间有"或其它特殊符号,在xpath路径里面的"前加\
  4. 刷新不要太频繁

代码:

__author__ = 'jmh081701'#coding:utf8
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from  selenium.webdriver.common.keys import Keys
import time
import sys
import threadingclass CourseSelect:def __int__(self):passdef loginToSelectCource(self,id,pwd):self.url="http://portal.uestc.edu.cn"self.brower =webdriver.Chrome("C:\\chromedriver.exe")brower=self.browerpage =brower.get(self.url)username=brower.find_element_by_id('username')password=brower.find_element_by_id('password')username.send_keys(id)password.send_keys(pwd)loginBtn=brower.find_element_by_xpath("//*[@id=\"casLoginForm\"]/p[4]/button")loginBtn.submit()brower.get("http://eams.uestc.edu.cn/eams/home.action")time.sleep(2)brower.get("http://eams.uestc.edu.cn/eams/home.action")time.sleep(2)kcgl=brower.find_element_by_xpath("//*[@id=\"MLeft\"]/div/ul/li[2]/a/div")kcgl.click()time.sleep(2)xk=brower.find_element_by_xpath("//*[@id=\"MLeft\"]/div/table[2]/tbody/tr[1]/td[7]/div[2]/a")xk.click()def selectA(self,xpath="//*[@id=\"lesson296968\"]/td[11]/a"):#选A类课brower=self.browerurlA="http://eams.uestc.edu.cn/eams/stdElectCourse!defaultPage.action?electionProfile.id=1137"brower.get(urlA)try:brower.switch_to_alert().accept()except:passxk=brower.find_element_by_xpath(xpath)xk.click()brower.switch_to_alert().accept()time.sleep(1)def selectB(self,xpath="//*[@id=\"lesson303459\"]/td[11]/a"):#选B类课brower=self.browerbrower.get("http://eams.uestc.edu.cn/eams/stdElectCourse!defaultPage.action?electionProfile.id=1138")try:brower.switch_to_alert().accept()except:passxk=brower.find_element_by_xpath(xpath)xk.click()brower.switch_to_alert().accept()time.sleep(1)if __name__ == '__main__':username='201466666666'pwd='66666'xk =CourseSelect()xk.loginToSelectCource(username,pwd)coursePath="//*[@id=\"lesson303459\"]/td[11]/a"while True:xk.selectB(coursePath)time.sleep(3)

上面的代码默认选2017年秋季的“素描”课,ok,运行起来,美滋滋!

selenium 自动抢课——电子科大自动抢课脚本相关推荐

  1. python自动登录校园网_免费自动登录国科大校园网python脚本

    UCAS-Network-Login A python program that helps you log in UCAS network for free. 免费自动登录国科大校园网 声明:本软件 ...

  2. 使用selenium自动下载国科大(UCAS)课程资源

    使用selenium爬取国科大课程资源 有些课程的资源实在太多,难得手动去下载,再整理,故写了一个简单实用的爬虫程序,自动下载所有课程资源,保持文件(夹)的层级关系. 为了各位同学方便,贴出此博客,介 ...

  3. 小年到了,回家抢票太难,用Python做个脚本12306自动查票以及自动购票....

    今天就是小年了,听说还有人买不到票?不要慌,今天咱们来用Python做一个自动查票抢票的脚本,24小时抢票,谁抢的过你!源码包已打包文件夹获取方式:点击这里[ Python全套资料] 即可获取. 准备 ...

  4. bat自动输入密码登录_如何制作自动设置计算机管理员密码的脚本

    如何制作自动设置计算机管理员密码的脚本 首先新建一个txt文档,输入以下代码 @echo offecho 更改管理员administrator密码net user administrator /act ...

  5. JavaScript + Thymeleaf + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十八)模板脚本

    前文 JavaScript--易班优课YOOC课群在线测试自动答题解决方案(一)答案获取 Spring Boot--易班优课YOOC课群在线测试自动答题解决方案(二)答案储存 Spring Boot- ...

  6. 数据库自动备份还原成新库脚本

    数据库自动备份还原成新库脚本 BACKUP DATABASE [源数据库名] TO DISK = N'G:\testbackup.bak' WITH COMPRESSION,NOUNLOAD , NA ...

  7. XML电子口岸自动报关项目 真实百万级项目下载

    我在迅雷网盘发现了"XML电子口岸自动报关项目",真实百万级项目,针对广州海关总署国际速递邮件报关不及时,报关信息不准确,致使海关监管力度薄弱,广航邮件出口延误等情况,开发电子口岸 ...

  8. shell编写mysql全备和增备脚本_基于mysqldump编写自动全备增备的shell脚本

    基于mysqldump编写自动全备增备的shell脚本 在线上MySQL数据库备份分为全备和增备,而xtrabackup备份已经支持了增量备份了,但是mysqldump就不支持增量备份,所以我们需要写 ...

  9. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助...

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: 1 var fs = require( ...

最新文章

  1. poi 启用保护后取消_雪佛龙取消商标许可,澳洲加德士更名Ampol后启用新LOGO
  2. httpsurlconnection 写不进去authorization值_23. 假设检验的时候为什么常写p lt; 0.05,而不写具体的p值?...
  3. CTF SQL注入知识点
  4. PASCAL-VOC2012 数据集介绍 及 制作同格式数据
  5. c语言指针交换字符串组,c语言 指针交换两个字符串
  6. 关于账号密码校验的两种IO流操作
  7. Gitee更新代码提示:master has no tracked branch
  8. linux键盘输入空格失效,电脑键盘空格键失灵不能用如何修复
  9. eclipse中Ctrl+Alt+↓向下复制快捷键与系统中翻转屏幕快捷键冲突问题(已解决)
  10. vs2013下git的使用
  11. 建议收藏 | 可实操,数据中台选型示例
  12. minio分布式集群搭建完全教程(纠删码,数据恢复)
  13. Unity3D代码混淆
  14. 笔记本电脑添加打印机
  15. Android把文字写到图片上生成图片+文字的新图片
  16. 通达信指标:趋势主升信号幅图,高抛低吸波段选股器
  17. 博士 关于如何做科研?如何阅读文章?如何写综述?等问题……
  18. python画风向杆_matplotlibquiver画风速风向
  19. python50道练习题
  20. MySQL使用工具软件下载

热门文章

  1. linux系统怎么同步时间不对,linux系统同步系统时间
  2. ROS下DWA配置和A*配置
  3. 2021年焊工(技师)考试总结及焊工(技师)试题及答案
  4. 华北五省计算机应用大赛2019,内科大学子在2019年华北五省大学生机器人大赛暨计算机应用大赛内蒙古赛区中取得佳绩...
  5. cell中加上无限轮播的效果
  6. 小学美术计算机教案模板,小学美术教案模板5篇
  7. 无损放大图片如何设置?图片放大模糊怎么解决?
  8. Towards Deep Learning Models Resistant to Adversarial Attacks(PGD adversarial training)
  9. 施一公 | 怎样在科学研究的道路上坚持走下去?
  10. ARM_SMMU_下