我正在尝试在此页面上自动执行下载过程:https://cdr.ffiec.gov/public/PWS/DownloadBulkData.aspx
特别是,我希望能够在“报告期间结束日期”下拉列表中选择任何选项。
<select name="ctl00$MainContentHolder$DatesDropDownList" onchange="javascript:setTimeout('__doPostBack(\'ctl00$MainContentHolder$DatesDropDownList\',\'\')', 0)" id="DatesDropDownList" class="valuelabel">
<option selected="selected" value="81">12/31/2014</option>
<option value="80">09/30/2014</option>
<option value="79">06/30/2014</option>
<option value="78">03/31/2014</option>
<option value="76">12/31/2013</option>
...
</select>
我在Selenium中尝试了以下操作,但它返回一个空列表:
url = 'https://cdr.ffiec.gov/public/PWS/DownloadBulkData.aspx'
driver = webdriver.Firefox()
driver.get(url)
date_field = driver.find_element_by_id("DatesDropDownList")
Select(date_field).options
我认为问题是选择中的javascript。什么是正确的方法?
答案 0 :(得分:1)
您的页面功能要求您从第一个列表框中选择一个值:)
因此,从&#34;可用产品&#34;中选择一个值,然后填充日期下拉列表。
browser = webdriver.Firefox()
browser.get('https://cdr.ffiec.gov/public/PWS/DownloadBulkData.aspx')
list1 = Select(browser.find_element_by_id("ListBox1"))
list1.select_by_visible_text("Call Reports -- Single Period")
date_field = Select(browser.find_element_by_id("DatesDropDownList"))
date_field.select_by_visible_text("03/31/2014")