在python中选择selenium的选项?

时间:2014-07-04 13:15:06

标签: python select selenium option

HTML code:

<div class="dob">
    <span class="label topmargin">Geboortedatum:</span>

    <div class="dob_d">
        <label>
            <select class="dob_d" id="dropdown-dob_d-0ymP8iYvZb" name="dob_d" style="display: none;">
                <option selected="selected">dag</option>
                <option value="01">01</option>
                <option value="02">02</option>
                <option value="03">03</option>
                <option value="04">04</option>
                <option value="05">05</option>
            </select>

            <div class="dropdown" data-focus="0" data-for="dropdown-dob_d-0ymP8iYvZb" id="dayDropdown" tabindex="1">
                <span>dag</span><i></i>
                <ul style="height:0px;">
                    <li class="selected">dag</li>
                    <li>01</li>
                    <li>02</li>
                    <li>03</li>
                    <li>04</li>
                    <li>05</li>
                </ul>
            </div>
        </label>
    </div>
</div>

我想选择第二个选项01

这是我尝试过的:

driver.find_element_by_xpath("//select[@id='dropdown-dob_d-0ymP8iYvZb']/option[@value='03']").click() 

1 个答案:

答案 0 :(得分:0)

问题是select元素不可见(因为style="display: none;")。 Webdriver不与不可见元素交互。

实际的下拉列表由不同的元素表示 - div,其中包含列表:

div = driver.find_element_by_id('dayDropdown')
div.click() 

option = div.find_element_by_xpath('./ul/li[. = "01"]')
option.click()