2016-02-20 84 views
0

我有一個簡單的選擇下拉菜單,它使用一個索引來查找所選擇的選項,並選擇它:如何計算在一個下拉列表選項,然後隨機選擇

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能夠計算下拉菜單中的選項數量,然後從那裏隨機地從列表中選擇一個選項?

編輯

哦,差點忘了,有沒有辦法不包括在計數底部的選項,因爲這是我不希望的一部分「不,謝謝」選項隨機選擇列表。

感謝

回答

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) 
相關問題