我正在从一个仅允许15天范围的网站上自动收集数据。我的目标是获取2016年至今的数据。为此,我正在使用硒。如何使用硒进行循环以在开始和结束日期内收集数据?
通过将代码块复制粘贴60次并更改日期范围以获取30个月的数据,我能够获得所需的结果。但我希望通过引入while循环来使代码更高效,更小。
#removing information from date range
browser.find_element_by_xpath('//*[@id="ctl00_mainScreen_mmDealSearchDealDetails_daterange_dIFrom"]').clear()
browser.find_element_by_xpath('//*[@id="ctl00_mainScreen_mmDealSearchDealDetails_daterange_dITo"]').clear()
#putting From and To date
browser.find_element_by_xpath('//*[@id="ctl00_mainScreen_mmDealSearchDealDetails_daterange_dIFrom"]').send_keys('01/05/2019')
browser.find_element_by_xpath('//*[@id="ctl00_mainScreen_mmDealSearchDealDetails_daterange_dITo"]').send_keys('15/05/2019')
#clicking on search button
browser.find_element_by_xpath('//*[@id="ctl00_mainScreen_btnSearch4"]').click()
#clicking on Download ALL button
browser.find_element_by_xpath('//*[@id="ctl00_mainScreen_DealsSummaryComplex_ExtendedResultsToolbar1_lbReportAll"]').click()
#clicking on Download button under Personalised Reports Section
browser.find_element_by_xpath('//*[@id="ctl00_mainScreen_ctl01_btnDownload"]').click()
sleep(30)
#switches to download window
browser.switch_to.window(browser.window_handles[1])
#clicks on download deals option
browser.find_element_by_xpath('//*[@id="ctl00_popupScreen_lblClickHere"]').click()
#closes download window
browser.close()
#clicking on Last Search Tab
browser.switch_to.window(browser.window_handles[0])
browser.find_element_by_xpath('//*[@id="ctl00_pageHeader"]/header/nav/div/ul/li[2]/a').click()
此部分代码重复30次,每个代码块的开始日期和结束日期都不同(第6行和第7行)。有人可以帮我这个忙吗?