我有一个简单的选择下拉菜单,它使用索引查找所选选项并选择它:
pax_two_ob_meal = Select(driver.find_element_by_id("ctl00_MainContent_InFlightMeal_PassengerGridView_ctl03_mealsDropDown"))
pax_two_ob_meal.select_by_index(1)
我意识到这个下拉菜单总是可以更改为包含任意数量的值。例如,它可以包含11个热餐,或5个三明治或15个家庭餐。幸运的是,无论显示哪个选项,它始终都是相同的ID。
所以我的问题是它是如何实现的,以便python能够计算下拉菜单中的选项数量,然后从那里随机选择列表中的一个选项?
修改
哦,在我忘记之前,有没有办法在计数中不包括底部选项,因为这是一个'不,谢谢'选项,我不想成为随机选择列表的一部分。
由于
答案 0 :(得分:2)
options将返回<selecet>
标记中的所有选项。只需获取列表大小并减去1
options = pax_two_ob_meal.options # get all the options into list
index = randint(0, len(options) - 1) # get random number from 0 to list size - 1
pax_two_ob_meal.select_by_index(index)