2015-03-19 136 views
0

我想这个网页上自动下载程序(JavaScript的?):https://cdr.ffiec.gov/public/PWS/DownloadBulkData.aspx无法选择使用Python硒选项

我特别希望能够选择在“本报告期结束日期的任何选项“ 落下。

<select name="ctl00$MainContentHolder$DatesDropDownList" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;ctl00$MainContentHolder$DatesDropDownList\&#39;,\&#39;\&#39;)&#39;, 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> 

我试图在硒以下,但它返回一个空列表:

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

给定的解决方案是否适合您? – Dharam 2015-03-19 12:30:36

+0

是的,谢谢! – sirallen 2015-03-19 13:08:03

回答

1

你的页面的功能希望你从第一个列表框:)

值那么请从“可用产品”,然后将日期下拉被填充的值。

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") 
+0

这给出了NoSuchElementException。 – sirallen 2015-03-19 07:20:39

+0

检查更新的答案 – Dharam 2015-03-19 07:38:00