selenium自动化遍历并选择select下拉框每一个元素

我们想去遍历选择select下拉框的所有的元素的时候,这时候,可以先获取下拉框的长度,然后使用for循环一个个选择,使用len(Select(driver.find_element(By.ID,"dj")).options)方法用来统计下拉框元素的个数,然后加一个for循环一个个的遍历,具体方法如下:

import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
djjgSelList=EGTconfigFile.driver.find_element(By.ID,"dj")
print(len(Select(djjgSelList).options))
number=1
EGTconfigFile.driver.find_element(By.ID,"keepBtn").click()#点击保存
for number in range(1,len(Select(djjgSelList).options)):
EGTconfigFile.driver.find_element(By.XPATH,"/html/body/div[2]/div/div/div[2]/form/div[3]/div[2]/input[1]").click()#点击新增
    Select(djjgSelList).select_by_index(number)
    EGTconfigFile.driver.find_element(By.ID, "keepBtn").click()  # 点击保存
    time.sleep(2)

备注:

调试过程中遇到报错尝试使用len(),导致错误“TypeError: 'int' object is not iterable

我加了个range()方法就不报错了:

range(1,len(Select(djjgSelList).options))

猜你喜欢

转载自blog.csdn.net/u012388338/article/details/130642154