无法使用python和selemium在第二个下拉列表中进行选择

时间:2016-09-06 13:39:21

标签: python selenium

我在第一个下拉列表中选择后,尝试在第二个下拉列表中进行选择

第一个使用的html代码是:

First Drop down and its option values

对于第二个下拉列表,使用的html代码为:

Second Drop down and its option values

下拉菜单的html代码有3个属性:idstyleclass。我想在第二个下拉列表中选择INDIA。问题是我不能使用id属性,因为它是动态的,并且每当我加载页面时总是会改变,我不能使用类作为下拉列表与StyledDropDown相同的班级。

我已经按类和xpath使用了find元素/元素,但它在第一个案例中的第一个下拉列表中进行了选择,并在后者中给出了错误。

提前致谢

1 个答案:

答案 0 :(得分:0)

如果无法使用这些indexing的任何dropdown值进行定位,您可以在此处使用attribute定位愿望dropdown,如下所示: -

dropdown = driver.find_elements_by_class_name("StyledDropDown")

#now check first if length is equal to 2
if len(dropdown) == 2 :
 firstDropdown = dropdown[0]
 secondDropdown = dropdown[1]

 #now do your stuff with desire dropdown

或者您也可以使用带有索引的dropdown找到这些xpath,如下所示: -

#for first drop down
firstDropdown = driver.find_element_by_xpath("(.//select[@class = 'StyledDropDown'])[1]")

块引用

#for second drop down
secondDropdown = driver.find_element_by_xpath("(.//select[@class = 'StyledDropDown'])[2]")