好分数学生成绩下载

从今天开始,我决定每三天一篇博客,不知道能不能完成…

最近考试结束了,想到给悻悻学子一个惊吓 惊喜🙂,话不多说,开造

实现自动化下载好分数数据selenium

简单分析一下流程

  1. 实现登录好分数
  2. 获取学生数据
  3. 实现下载
1.登录好分数

好分数网址
点击红圈进入登录界面

接下来就是用selenium实施登录,代码如下

browser = webdriver.Chrome()#声明浏览器
url = 'https://hfs.yunxiao.com/'
browser.get(url)#打开网页
a=browser.find_element_by_xpath('//*[@id="app"]/div/div[2]/div[2]/div/div[1]/div/ul/li[1]/div/div[1]')
a.click()#进入登录界面
b=browser.find_element_by_xpath('//*[@id="account"]')#定位输入框
b.clear()
b.send_keys(u)#输入用户名
b2=browser.find_element_by_xpath('//*[@id="password"]')
b2.clear()
b2.send_keys(p)#输入用户密码
c=browser.find_element_by_xpath('//*[@id="login"]')
c.click()#登录完成

2.登录完成后进入学生信息管理
分析一波
点击好分数成绩分析
进入页面后有一个弹窗
在这里插入图片描述
此时注意:新标签页弹窗,则需要进行窗口的切换
在这里插入图片描述
代码

// An highlighted block
time.sleep(5)#等待页面加载完毕
handles = browser.window_handles
browser.switch_to.window(handles[1])#切换页面
e=browser.find_element_by_xpath('/html/body/div[1]/section/section/div/div[4]')
e.click()#消除div弹窗

3.下载
在这里插入图片描述
进入分析之后点击进入
在这里插入图片描述
进入之后不难发现浏览器在默认大小下看不到下载按钮,所以需要最大化浏览器,再下载,最后关闭浏览器

f=browser.find_element_by_xpath('/html/body/div/section/section/div/div[1]/div[1]/div/main/section/div/button/span')
f.click()
time.sleep(2)
g=browser.find_element_by_xpath('//*[@id="reset"]/section[2]/div/div[3]/a/div/div[1]/section/span[2]')
g.click()
browser.maximize_window()
time.sleep(5)
h=browser.find_element_by_xpath('//*[@id="reset"]/section[2]/div[1]/div[2]/section/section/section[1]/div[1]/div[3]/button/span')
h.click()
time.sleep(20)
browser.close()

总而言之这个项目需要注意的只有新标签页弹窗需要进行窗口切换,好了完整代码附上

from selenium import webdriver#导入库
import time
browser = webdriver.Chrome()#声明浏览器
url = 'https://hfs.yunxiao.com/'
browser.get(url)
a=browser.find_element_by_xpath('//*[@id="app"]/div/div[2]/div[2]/div/div[1]/div/ul/li[1]/div/div[1]')
a.click()
b=browser.find_element_by_xpath('//*[@id="account"]')
b.clear()
b.send_keys(u)
b2=browser.find_element_by_xpath('//*[@id="password"]')
b2.clear()
b2.send_keys(p)
c=browser.find_element_by_xpath('//*[@id="login"]')
c.click()
time.sleep(5)
d=browser.find_element_by_xpath('//*[@id="5d31977d0000038049728c73"]/div/div/div[5]/div[2]/div/div/div[1]/img')
d.click()
time.sleep(5)
handles = browser.window_handles
browser.switch_to.window(handles[1])
e=browser.find_element_by_xpath('/html/body/div[1]/section/section/div/div[4]')
e.click()
f=browser.find_element_by_xpath('/html/body/div/section/section/div/div[1]/div[1]/div/main/section/div/button/span')
f.click()
time.sleep(2)
g=browser.find_element_by_xpath('//*[@id="reset"]/section[2]/div/div[3]/a/div/div[1]/section/span[2]')
g.click()
browser.maximize_window()
time.sleep(5)
h=browser.find_element_by_xpath('//*[@id="reset"]/section[2]/div[1]/div[2]/section/section/section[1]/div[1]/div[3]/button/span')
h.click()
time.sleep(20)
browser.close()

亲测可用~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值