我有一个简单的选择下拉菜单,它使用索引来查找所选选项并选择它:
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 能够计算下拉菜单中的选项数量,然后从那里从列表中随机选择一个选项?
编辑
哦,在我忘记之前,有没有办法不在计数中包含底部选项,因为这是一个"不,谢谢"选项,我不想成为随机选择列表的一部分。
谢谢
选项将返回<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)