有没有一种方法在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")
答案 0 :(得分:1)
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]);
}