首页 > 解决方案 > 如何对下拉列表的值进行排序,并通过 Selenium 和 Python 删除下拉列表中的重复值

问题描述

<select id="month" class="_5dba" title="Month" name="birthday_month" aria-label="Month">
    <option value="0">Month</option>
    <option value="1">Jan</option>
    <option value="2">Feb</option>
    <option value="3">Mar</option>
    <option value="4">Apr</option>
    <option value="5">May</option>
    <option value="6">Jun</option>
    <option value="7">Jul</option>
    <option selected="1" value="8">Aug</option>
    <option value="9">Sept</option>
    <option value="10">Oct</option>
    <option value="11">Nov</option>
    <option value="12">Dec</option>
    <option value="13">Dec</option>
    <option value="14">Jan</option>
    <option value="15">Jun</option>
</select>

我想按字母顺序排序,如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

标签: pythonlistseleniumselenium-webdriverwebdriver

解决方案


这对我来说非常适合我正在寻找的东西。

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)

推荐阅读