Apr
我想按字母顺序排序,例如Aug
,Dec
,Dec
。
并且要删除重复的值,例如Jan
,Jun
,dropdownoption = driver.find_elements_by_xpath("//*[@id='month']/option")
print len(dropdownoption)
for val in dropdownoption:
print val.text
一旦执行以下代码,我便可以读取下拉列表中的所有值,但无法排序和删除重复的值:
{{1}}
答案 0 :(得分:1)
您可以使用以下代码获取没有重复的已排序月份:
monthes = sorted(set([node.text for node in driver.find_elements_by_xpath("//*[@id='month']/option")]))
输出为
['Apr', 'Aug', 'Dec', 'Feb', 'Jan', 'Jul', 'Jun', 'Mar', 'May', 'Month', 'Nov', 'Oct', 'Sept']
如果您想跳过第一个("Month"
)选项,请尝试替换
driver.find_elements_by_xpath("//*[@id='month']/option")
使用
driver.find_elements_by_xpath("//*[@id='month']/option")[1:]
答案 1 :(得分:1)
这对我来说非常适合我想要的东西。
dropdownoption = driver.find_elements_by_xpath("//*[@id='month']/option")
print len(dropdownoption)
for val in dropdownoption:
container=val.text
list.append(container)
list.sort()
print ' '.join(list)
st=set(list)
print ' '.join(st)
答案 2 :(得分:0)
要对Dropdown列表的值进行排序,并通过Selenium和Python删除Dropdown中的重复值,您可以使用以下解决方案:
months = []
sorted_months = []
unique_months = []
unique_sorted_months = []
dropdownoption = driver.find_elements_by_xpath("//*[@id='month']/option")
print len(dropdownoption)
for val in dropdownoption:
months.append(val.text)
print("Printing the actual list of months:")
print(months)
#Output>>>['Month', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec', 'Dec', 'Jan', 'Jun']
print("Printing the available months in sorted order:")
sorted_months = sorted(months)
print(sorted_months)
#Output>>>['Apr', 'Aug', 'Dec', 'Dec', 'Feb', 'Jan', 'Jan', 'Jul', 'Jun', 'Jun', 'Mar', 'May', 'Month', 'Nov', 'Oct', 'Sept']
print("To remove the duplicate and print the list:")
unique_months= set(months)
print(unique_months)
#Output>>>{'May', 'Jul', 'Feb', 'Mar', 'Oct', 'Nov', 'Jun', 'Jan', 'Aug', 'Sept', 'Month', 'Apr', 'Dec'}
print("To remove the duplicates and print the available months in sorted order:")
unique_sorted_months = sorted(set(months))
print(unique_sorted_months)
#Output>>>['Apr', 'Aug', 'Dec', 'Feb', 'Jan', 'Jul', 'Jun', 'Mar', 'May', 'Month', 'Nov', 'Oct', 'Sept']