2015-03-19 164 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