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