我试图通过下载单个csv文件从bse网站获取历史价格。我正在使用python和selenium和chrome驱动程序。
输入是安全名称:可以输入前几个字母或代码,从智能搜索框中选择名称,然后选择开始和结束日期,然后单击提交。数据呈现为csv文件,单击时会下载。
我使用了给出的示例,并尝试了以下方法,但它没有选择输入代码时出现的名称,并且网页输入到目前为止的错误。
from selenium import webdriver
import time
from selenium.webdriver.support.ui import Select
#browser = webdriver.Firefox()
browser = webdriver.Chrome() #replace with .Firefox(), or with the browser of your choice
url = "http://www.bseindia.com/markets/equity/EQReports/StockPrcHistori.aspx?flag=0&expandable=7"
browser.get(url) #navigate to the page
securitycode = browser.find_element_by_id("ctl00_ContentPlaceHolder1_GetQuote1_smartSearch") # code for security
startdt = browser.find_element_by_id("ctl00_ContentPlaceHolder1_txtFromDate") #start date form field
enddt = browser.find_element_by_id("ctl00_ContentPlaceHolder1_txtToDate") #start date form field
select = Select(securitycode)
select.select_by_visible_text("500010")
#securitycode.send_keys("500010")
#startdt.send_keys("01/01/1991")
#enddt.send_keys("29/01/2018")
time.sleep(5)
#submitButton = browser.find_element_by_id("ctl00_ContentPlaceHolder1_btnSubmit")
#submitButton.click()
# now wait for the next page to be loaded
#time.sleep(10)
#browser.find_element_by_css_selector(".btn.btn--link").click()
#time.sleep(10)
代码的评论部分是另一种尝试。
我看到有关使用select的部分,但这也不起作用。