首页 > 解决方案 > 有没有办法使用 Selenium python 计算页面中的项目

问题描述

我试图自动化的页面是我的大学网站,其中包含有关每个科目的出勤率的所有信息,科目的数量因学年不同的学生而异

所以我需要一种方法来自动计算科目数

so subject 1 Xpath - //*[@id="MainContent_GridView4"]/tbody/tr[2]/td[2]
   subject 2 Xpath - //*[@id="MainContent_GridView4"]/tbody/tr[3]/td[2]

在 xpath 模式 'tr[2] 中,一名学生(机械)的范围为 2-10,其他学生的范围为 2-9(cse)

temp = '//*[@id="MainContent_GridView4"]/tbody/tr['
for x in range(2,10):
       sub1 =temp + str(x) + ']/td[1]'
       k = driver.find_element(By.XPATH,sub1)

我提到的上述代码仅适用于 Cse 学生,当与 mech 学生页面一起使用时,它似乎错过了最终列表中的一个主题,所以如果有一种方法可以计算主题数量,我可以在我的循环中使用该数量

标签: pythonselenium

解决方案


您可以尝试使用 find_elements 代替 find_element。如果使用提供的 xpath 找不到元素,它将返回一个空列表。因此,您可以围绕它构建逻辑以实现进一步的自动化。例如,如果列表的大小 > 0,则执行某项操作,否则,请执行其他操作。


推荐阅读