【发布时间】:2017-11-01 22:20:09
【问题描述】:
选择列表的 HTML 如下所示:
<select name="date_range_month_start" id="date_range_month_start" data-width="109px" data-search="true" style="width: 109px; display: none;">
<option value="0">January</option>
<option value="9">October</option>
<option value="10" selected="selected">November</option>
<option value="11">December</option>
</select>
<div class="chosen-container chosen-container-single chosen-container-single-nosearch" style="width: 109px;" title="" id="date_range_month_start_chosen">
<a class="chosen-single" tabindex="-1">
<span>January</span>
<div><b></b>
</div>
</a>
<div class="chosen-drop">...</div>
</div>
但是当我运行时:
month = driver.find_element_by_id('date_range_month_start_chosen')
month.click() ## make dropdown list visible in browser
mySelect = Select(driver.find_element_by_css_selector("#date_range_month_start"))
print([o.text for o in mySelect.options])
它打印:
['', '', '', '', '', '', '', '', '', '', '', '']
我也尝试了其他一些方法,但到目前为止,在打印此下拉菜单中的文本值时完全不成功。
【问题讨论】:
-
你能修正一下格式吗?我为你做了这个,但是当你添加额外的月份时你似乎已经恢复了它(顺便说一下,这对于最小的可验证示例来说不是必需的)
-
请包含id为
date_range_month_start_chosen的元素,包括其相关的副作用。 -
问题是
SELECT不可见,至少在您粘贴的 HTML 中不可见。您将需要找到如何使其可见。单击不可见元素不会使其可见。您无需打开下拉菜单即可访问其选项。
标签: python selenium selenium-webdriver drop-down-menu webdriver