Python 如何通过列表中的位置从下拉菜单中选择选项?

Python 如何通过列表中的位置从下拉菜单中选择选项?,python,python-2.7,selenium,selenium-webdriver,Python,Python 2.7,Selenium,Selenium Webdriver,在使用selenium的python中,有没有一种方法可以通过计数来选择选项,而不是使用下拉菜单中的值或名称来选择选项?如选择选项1和另一个示例选择选项2。这是因为下拉菜单选项的值或文本可能会发生变化,因此为了确保选择某个选项,我只想说选择第一个选项(不管它是什么),并在另一个示例中选择第五个选项等 下面是我使用值选择选项的代码,如果值在将来更改,这将是一个问题: pax_one_bags = Select(driver.find_element_by_id("ctl00_MainContent

在使用selenium的python中,有没有一种方法可以通过计数来选择选项,而不是使用下拉菜单中的值或名称来选择选项?如选择选项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")
是的,有:

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

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()  

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

pax_one_bags=选择(驱动程序。按id查找元素(“ctl00_Main Content_passengerList_PassengerGridView_ctl02_baggageOutDropDown”))

int l=pax_one_bags.count()

对于(int i=0 i {

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

}

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()