好分数学生成绩下载

好分数学生成绩下载

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

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

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

简单分析一下流程

实现登录好分数获取学生数据实现下载

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()

亲测可用~~

相关探索

dnf85升86需要多少经验
bt365体育在线

dnf85升86需要多少经验

梦见粽叶是什么意思
亚洲365bet官网

梦见粽叶是什么意思