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

2024-06-01 14:13:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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

用于第一个的html代码是:

First Drop down and its option values

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

Second Drop down and its option values

下拉列表的html代码有3个属性,即:idstyleclass。我想在第二个下拉列表中选择作为INDIA。问题是我不能使用id属性,因为它是动态的,每次加载页面时都会更改,而且我不能使用class,因为这两个下拉列表与StyledDropDown具有相同的类

我使用了find element/elements by class和xpath,但它在第一种情况下对第一个下拉列表进行选择,在后一种情况下给出错误

提前谢谢


Tags: 代码id列表属性stylehtml情况动态
1条回答
网友
1楼 · 发布于 2024-06-01 14:13:48

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

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

或者您也可以使用xpath查找这些dropdown,索引如下:

#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]")

相关问题 更多 >