scrapy:如何在空白处输入参数 space

scrapy: how to type argument in a blank space

我想从雅虎财经下载数据 http://finance.yahoo.com/q/hp?s=^TWII&a=00&b=15&c=2004&d=11&e=4&f=2015&g=m

我希望程序在开始年份 space 中键入“2004”,在结束年份 space 中键入“2015”。我怎样才能做到这一点?

我的代码是这样的:

import scrapy
from selenium import webdriver
import time
from scrapy.selector import Selector
from scrapy.selector import HtmlXPathSelector
from taiex.items import taiexItem
import unicodecsv as csv

class taiex_spider(scrapy.Spider):
    name = 'taiex_spider'
    allowed_domains = ['finance.yahoo.com/']
    start_urls = ['http://finance.yahoo.com/q/hp?s=^TWII&a=00&b=15&c=2004&d=11&e=4&f=2015&g=m']

    def __init__(self):
        self.driver = webdriver.Firefox()

    def parse(self, response):
        items = []
        item = taiexItem()
        driver = self.driver
        driver.get(response.url)
        driver.find_element_by_css_selector('select[id="selstart"]>option[value="00"]').click() 
        driver.find_element_by_css_selector('select[id="selend"]>option[value="11"]').click()

        driver.find_element_by_xpath('//input[@id="monthly"]').click()
        driver.find_element_by_xpath('//input[@class="rapid-nf"]').click()
        driver.find_element_by_partial_link_text('Download to Spreadsheet').click()

通过 id 找到所需的输入元素并将密钥发送给它们:

start_year = driver.find_element_by_id("startyear")
start_year.clear()
start_year.send_keys("2004")

end_year = driver.find_element_by_id("endyear")
end_year.clear()
end_year.send_keys("2015")