【发布时间】:2021-06-07 19:05:23
【问题描述】:
我正在尝试使用 Selenium 从网站上抓取数据,我能够发送值但没有收到开始抓取的结果。该程序也没有抛出任何错误。这是可重现的代码:
# Setting up driver
driver = webdriver.Chrome(executable_path='D:\Program Files\ChromeDriver\chromedriver.exe')
# Opening up the webpage
driver.get("https://www1.nseindia.com/products/content/derivatives/equities/historical_fo.htm")
# Setting the value of Select Instrument
driver.find_element_by_id('instrumentType').send_keys('Index Options')
# Setting the value of Select Symbol
driver.find_element_by_id('symbol').send_keys('NIFTY 50')
# Setting the value of Select Year
driver.find_element_by_id('year').send_keys('2019')
# Setting the value of Select Expiry
select = Select(driver.find_element_by_id('expiryDate'))
noOfExpiries = 2
select.select_by_index(noOfExpiries)
# Setting the value of Select Option Type
cycle = 'PE'
driver.find_element_by_id('optionType').send_keys(cycle)
# Clicking the date range radio button
driver.find_element_by_xpath("//input[@id='rdDateToDate']").click()
# Setting the date range
fromDate = (datetime.strptime(select.options[noOfExpiries].text, '%d-%m-%Y') - timedelta(days=45)).strftime("%d-%b-%Y")
driver.find_element_by_id('fromDate').send_keys(fromDate)
toDate = datetime.strptime(select.options[noOfExpiries].text, '%d-%m-%Y').strftime("%d-%b-%Y")
driver.find_element_by_id('toDate').send_keys(toDate)
print(fromDate, toDate)
# Clicking the Get Data button
driver.find_element_by_id('getButton').click()
关于我在这里缺少什么的任何线索?
【问题讨论】:
-
点击后您没有从网站上抓取任何内容。
-
点击“获取数据”后,我没有收到任何可以从中抓取数据的元素
-
我看到代码中没有延迟。你定义了隐式等待超时吗?
-
是的,延迟不是问题。
-
您可以使用请求模块从该站点获取内容。你试过了吗?
标签: python python-3.x selenium web-scraping selenium-chromedriver