selenium 自动抢课——电子科大自动抢课脚本
来源:互联网 发布:纳什职业生涯场均数据 编辑:程序博客网 时间:2024/06/05 17:25
前言:
又到了一学期一度的渣电的退补选,退补选这东西 谁退了谁抢到就是本事,闲着没事,写一个自动化抢课脚本。
使用方法:
0.安装selenium1.username改成自已的学号 pwd改成自已的密码2.coursePath修改成自已想要的课的xpath路径,得到xpath的方法为 使用chrome打开选课页面,找到所选课程,右键"检查",然后再调试界面默认选择的蓝色区域右键copy->copy xpath.即可 如果xpath中间有"或其它特殊符号,在xpath路径里面的"前加\3.刷新不要太频繁
代码:
__author__ = 'jmh081701'#coding:utf8from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys import Keysimport timeimport sysimport threadingclass CourseSelect: def __int__(self): pass def loginToSelectCource(self,id,pwd): self.url="http://portal.uestc.edu.cn" self.brower =webdriver.Chrome("C:\\chromedriver.exe") brower=self.brower page =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.brower urlA="http://eams.uestc.edu.cn/eams/stdElectCourse!defaultPage.action?electionProfile.id=1137" brower.get(urlA) try: brower.switch_to_alert().accept() except: pass xk=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.brower brower.get("http://eams.uestc.edu.cn/eams/stdElectCourse!defaultPage.action?electionProfile.id=1138") try: brower.switch_to_alert().accept() except: pass xk=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,运行起来,美滋滋!
阅读全文
1 0
- selenium 自动抢课——电子科大自动抢课脚本
- selenium+python自动登录脚本
- selenium之自动选课脚本
- Python+selenium创建自动执行命令脚本
- selenium+python的163自动写邮件脚本
- 使用selenium库制作自动提交表单的脚本
- ubuntu——Mysql自动备份脚本
- Linux——自动安装脚本
- 自动脚本
- 搭建selenium java测试环境 use selenium IDE自动录制脚本
- js 抢月饼第一步 —— console中实现自动点击click脚本
- 斗鱼TV自动抢火箭鱼丸脚本——JavaScript DOM操作
- 电子科大C++教程
- 电子科大【男生宣言】
- [selenium ]selenium 自动登录考勤系统
- 大数据项目3:自动创建N棵决策树脚本
- selenium自动处理验证码
- selenium设置Firefox自动下载
- python矩阵操作小例子
- 如何编写更好的SQL查询:终极指南-第一部分
- linux下PS1命令提示符
- docker的安装与使用(Mac环境下)
- 使用HTML语言和CSS开发商业站点_定位网页元素
- selenium 自动抢课——电子科大自动抢课脚本
- 1012. 数字分类 (20)
- Solr集群Replication配置与实践
- 记一次用alinode分析,降低cpu使用率
- Spring Boot中使用Swagger2构建API文档
- Netty4 HTTP请求参数解析(GET, POST)
- c#-- 使用Process类杀死进程,执行命令等
- Fragment 之间传递数据(1)
- 不能覆写父类的private方法