在Python中使用Selenium检查第 12 类结果
我们将在 CSV 文件中收集第 12 类的数据,其中包含以下信息:
- 候选人名字
- 通过或失败状态
- 分配
- 获得分数
这个任务将通过使用Python的selenium库来完成。
要求:
您需要安装 chrome 驱动程序并设置路径。点击这里下载。有关更多信息,请点击此链接。
方法:
- 首先进入第 12 个网站,请按照此链接(这是第 12 个结果)。
- 然后通过紧急 ctrl + shift + i 或进入浏览器设置并手动单击调查详细信息单击调查元素。
- 然后导航到选择区域的框,然后复制 x_path。
- 然后导航到填充卷号的框,然后复制 x_path。
- 然后导航查看结果按钮,然后复制 x_path。
- 我想将结果存储在 CSV 文件中,然后导航学生姓名、未通过状态、除法、获得分数。然后通过脚本自动填写卷号转到下一页找到学生姓名的x_path,不及格状态,部门,获得分数。
借助截图一步一步地复制元素的x_path并放入代码中:
第1步:
第2步:
第 3 步:
第4步:
第 5 步:
第 6 步:
第 7 步:
第 8 步:
第 9 步:
第 10 步:
第 11 步:
第 12 步:
下面是实现:
Python3
# import required libraries
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import csv
import time
# give name of csv file
filename = "abc.csv"
# open file in write mode
f = open(filename, 'w')
# creat header in file
header = "NAME,STATUS,DIV,NUM\n"
# write into the file
f.write(header)
# put rollnumber without zero like
# your number 0477593 then
# put 477593 upto XXXXX.
start_rollNum = 926840
end_rollNum = 926841
# put range of rollnumber
for i in range(start_rollNum, end_rollNum ):
# use try and except because if any rollnumber
# is invalid then whole program is not stop.
try:
driver = webdriver.Chrome()
# link is given above copy and paste
driver.get("https://results.upmsp.edu.in/ResultIntermediate.aspx")
# add zero in rollnumber in starting
t = '0' + str(i)
# district xpath
state = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_ddl_districtCode"]')
drp1 = Select(state)
# select district
drp1.select_by_visible_text('LUCKNOW')
# put rollnumber
driver.find_element_by_xpath('//*[@id="ctl00_cphBody_txt_RollNumber"]').send_keys(t)
# view result xpath
driver.find_element_by_xpath('//*[@id="ctl00_cphBody_btnSubmit"]').click()
# student name
name = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_C_NAME"]').text
# status pass or fail
status = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_RESULT"]').text
# division
div = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_DIVISION"]').text
# obatin marks
num = driver.find_element_by_xpath('//*[@id="ctl00_cphBody_lbl_MRK_OBT"]').text
# all details fill into csv file
f.write(name + "," + status + "," +
div[1 : ] + "," + num + "\n")
# close the driver
driver.close()
except NoSuchElementException as exception:
continue
# close and save the file
f.close()
输出:
注意:如果您想查找礼帽,请对 CSV 文件应用过滤器。