【问题标题】:Select option with selenium in python?在python中选择带有硒的选项?
【发布时间】:2014-07-04 13:15:05
【问题描述】:

HTML 代码:

<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() 

【问题讨论】:

  • 什么?那里有问题吗?
  • 通常你应该把你尝试过的结果以及任何其他可以使问题合理化的信息

标签: python select selenium option


【解决方案1】:

问题是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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多