2015-11-04 50 views
0

我试图自动从网站下载文件,并且遇到了页面上包含的列表框的问题。提交表单后,会弹出一个窗口,说我从未在列表框中选择选项值,即提交后选项值不会保持选定状态。以下是我的代码如下。任何帮助?请和感谢Python Selenium自动化

from selenium.webdriver.support.ui import Select 
from selenium.webdriver.common.action_chains import ActionChains 
from selenium.webdriver.common.keys import Keys 
driver = webdriver.Firefox() 
actionChains = ActionChains(driver) 
driver.get("http://www.ncdc.noaa.gov/has/HAS.FileAppRouter?datasetname=6500&subqueryby=STATION&applname=&outdest=FILE") 
stations = Select (driver.find_element_by_name('stations')) 
stations.select_by_value('KLWX') 
#radar = driver.find_elements_by_class_name('dataset-select') 
radar = driver.find_elements_by_class_name('dataset-select') 
for x in range(0,len(radar)): 
    if radar[x].is_displayed(): 
     radar[x].click() 
select = Select (driver.find_element_by_name('begyear')) 
select.select_by_value('2012') 
select = Select(driver.find_element_by_name('begmonth')) 
select.select_by_visible_text('06') 
select = Select(driver.find_element_by_name('begday')) 
select.select_by_visible_text('30') 
select = Select(driver.find_element_by_name('endyear')) 
select.select_by_value('2012') 
select = Select(driver.find_element_by_name('endmonth')) 
select.select_by_visible_text('07') 
select = Select(driver.find_element_by_name('endday')) 
select.select_by_visible_text('01') 
element = driver.find_element_by_name('emailadd') 
element.send_keys("[email protected]") 
driver.find_element_by_css_selector("input[type=submit]").click() 

回答

1

这只是你点击了错误的元素 - 它应该在button,而不是input。替换:

driver.find_element_by_css_selector("input[type=submit]").click() 

有:

driver.find_element_by_css_selector("button[type=submit]").click() 
+0

谢谢!这工作 –