📜  在Python中使用Selenium检查第 12 类结果

📅  最后修改于: 2022-05-13 01:54:30.811000             🧑  作者: Mango

在Python中使用Selenium检查第 12 类结果

我们将在 CSV 文件中收集第 12 类的数据,其中包含以下信息:

  1. 候选人名字
  2. 通过或失败状态
  3. 分配
  4. 获得分数

这个任务将通过使用Python的selenium库来完成。

要求:

您需要安装 chrome 驱动程序并设置路径。点击这里下载。有关更多信息,请点击此链接。

方法:

  1. 首先进入第 12 个网站,请按照此链接(这是第 12 个结果)。
  2. 然后通过紧急 ctrl + shift + i 或进入浏览器设置并手动单击调查详细信息单击调查元素。
  3. 然后导航到选择区域的框,然后复制 x_path。
  4. 然后导航到填充卷号的框,然后复制 x_path。
  5. 然后导航查看结果按钮,然后复制 x_path。
  6. 我想将结果存储在 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 文件截图

注意:如果您想查找礼帽,请对 CSV 文件应用过滤器。