南京农业大学教务系统大学生抢课——基于python的selenium包+谷歌浏览器

目录

前言

一、前期准备

1.python环境搭建+VScode安装配置

2.安装selenium包+谷歌浏览器驱动程序

3.其它方法

二、代码

三、运行效果

总结



前言

本人南京农业大学本科,由于抢不到课,于是写了个抢课代码,有点小bug,但效果还可以

小白学习,大佬勿喷


提示:以下是本篇文章正文内容,下面案例可供参考

一、前期准备

1.python环境搭建+VScode安装配置

这里网上有许多教程,这里就不多说了,推荐一个UP主,保姆级教程

https://www.bilibili.com/video/BV17A411T73u?from=search&seid=2612128118445730416

2.安装selenium包+谷歌浏览器驱动程序

同样推荐一个up主,有详细教程

https://www.bilibili.com/video/BV1Z4411o7TA?p=1

3.其它方法

当然也可以python官网安装python文本编译器,使用pip指令安装selenium包即可

二、代码(部分,如果需要可以私信)

代码功能是查询哲学方法类的课程,发现相应课程数量不为0时,点击选课,否则3s一次刷新网页,代码会一直运行,直到查到相应的课程

运行过程中会出现无法锁定元素的问题,如果运行中断,重新执行代码即可(这是个小bug)

注:以下所有代码仅限于“哲学方法”类课程的选课,本代码写于2021/8/31,亲测有效,后期可能会由于网站更新等原因,无法使用,后期不会进行维护,仅限于大家学习交流,请勿恶意竞争,谢谢!

from selenium import webdriver
import time
from selenium.webdriver.support.ui import Select
global driver
if __name__ == '__main__':
#下面这行代码填入自己谷歌浏览器驱动的位置即可
    driver_path=r'C:\Users\万萌\AppData\Local\Google\Chrome\Application\chromedriver.exe'
    driver=webdriver.Chrome(executable_path=driver_path)
    driver.get("http://jw1.njau.edu.cn/jsxsd/xsxk/xklc_list")
    driver.implicitly_wait(5)
    time.sleep(2)
    studynum=driver.find_element_by_css_selector('#username')
 #####################################################################   
    studynum.send_keys('---------')#这里填入自己的南农教务处网站的学号记得加引号
#######################################################################
    studypassword=driver.find_element_by_css_selector('#password')
#################################################################
    studypassword.send_keys('---------')#这里填入自己的南农教务处网站的登录密码
#################################################################
    login=driver.find_element_by_css_selector('#login_submit')
    login.click()
    chooselesson=driver.find_element_by_css_selector('[href="/jsxsd/ggly/ysgg_query?Ves632DSdyV=NEW_XSD_PYGL"]')
    chooselesson.click()
    choosecase=driver.find_element_by_css_selector('[href="/jsxsd/xsxk/xklc_list"]')
    choosecase.click()
    driver.find_element_by_xpath("/html/body/div[4]/div[2]/table/tbody/tr[2]/td[4]/a").click()
    #driver.switch_to_frame("/html/body/div[4]/div[2]/table/tbody/tr[2]/td[4]/a")
    driver.switch_to.window(driver.window_handles[-1])
    driver.find_element_by_css_selector('[href="/jsxsd/xsxkkc/comeInGgxxkxk"]').click()
    driver.switch_to.frame("mainFrame")
    Select(driver.find_element_by_css_selector('[name="szjylb"]')).select_by_value('14')
    #driver.find_element_by_xpath("/html/body/div[2]/select[1]").click()
    #time.sleep(3)
    # s1 = Select(driver.find_element_by_css_selector('[id="szjylb"][name="szjylb"]'))
    # s1.select_by_value("14")
    driver.find_element_by_xpath("/html/body/div[2]/input[6]").click()
    # txt=driver.find_element_by_xpath("/html/body/div[3]/div/table/tbody/tr[1]/td[9]")
    # print(txt.text)
    school0=driver.find_elements_by_css_selector('.odd > td:nth-child(8)')
    school1=driver.find_elements_by_css_selector('.even > td:nth-child(8)')
    amount0=driver.find_elements_by_css_selector('.odd > td:nth-child(9)')
    amount1=driver.find_elements_by_css_selector('.even > td:nth-child(9)')
    judge0=driver.find_elements_by_css_selector('.odd > td:nth-child(10)')
    judge1=driver.find_elements_by_css_selector('.even > td:nth-child(10)')
    enter0=driver.find_elements_by_css_selector('.odd > td:nth-child(12) a')
    enter1=driver.find_elements_by_css_selector('.even > td:nth-child(12) a')
    xuanke=0
    driver.implicitly_wait(5)
 

三、运行效果

南京农业大学教务系统抢课


总结

有问题的小伙伴可以在评论区评论哦,原创不易,点个赞支持下吧!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿古的童谣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值