如何从下拉菜单中选择列表中的选项?

时间:2016-02-14 01:10:20

标签: python python-2.7 selenium selenium-webdriver

有没有一种方法在python中使用selenium,而不是使用下拉菜单中的值或名称选择一个选项,我可以通过计数选择一个选项?像选择选项1和另一个示例一样选择选项2.这是因为下拉菜单选项的值或文本可能会更改以确保选择选项,我只想说选择第一个选项(无论它是什么)和另一个例子选择第五个选项等。

下面是我使用值来选择一个选项的代码,如果该值在将来发生变化,这将是一个问题:

pax_one_bags = Select(driver.find_element_by_id("ctl00_MainContent_passengerList_PassengerGridView_ctl02_baggageOutDropDown"))
pax_one_bags.select_by_value("2")

pax_two_bags = Select(driver.find_element_by_id("ctl00_MainContent_passengerList_PassengerGridView_ctl03_baggageOutDropDown"))
pax_two_bags.select_by_value("5")

2 个答案:

答案 0 :(得分:1)

是的,有select_by_index() method

pax_one_bags = Select(driver.find_element_by_id("ctl00_MainContent_passengerList_PassengerGridView_ctl02_baggageOutDropDown"))
pax_one_bags.select_by_index(1)

或者,您也可以通过索引从options列表中获取该项目,然后单击:

pax_one_bags = driver.find_element_by_id("ctl00_MainContent_passengerList_PassengerGridView_ctl02_baggageOutDropDown")
pax_one_bags_select = Select(pax_one_bags)

pax_one_bags.click()
pax_one_bags_select.options[1].click()  

答案 1 :(得分:1)

您可以先计算下拉列表中的数字,然后使用循环,您可以选择该特定位置的索引

pax_one_bags =选择(driver.find_element_by_id(“ctl00_MainContent_passengerList_PassengerGridView_ctl02_baggageOutDropDown”))

int l = pax_one_bags.count();

for(int i = 0 i< l-1; i ++)

{

System.out.println(“第一个索引是:”+ i [0]);

}