from termcolor import colored from pyvirtualdisplay import Display from selenium import webdriver from datetime import timedelta, date import datetime import sys from sys import argv display = Display(visible=0, size=(800, 600)) display.start() browser = webdriver.Firefox() browser.get('https://secure.scottishwidows.co.uk/frame.wpl/839') frame = browser.find_element_by_name('main') browser.switch_to.frame(frame) browser.find_element_by_name("shMbrInputCustID").send_keys('15664033') browser.find_element_by_name("shMbrInputPIN").send_keys('3669') browser.find_element_by_name("shMbrInputDOB").send_keys('11/03/1991') browser.find_element_by_name("_submit").click() browser.find_elements_by_tag_name('a')[7].click() browser.find_elements_by_tag_name('a')[3].click() base = datetime.datetime.today() numdays = 60 date_list = [(base - datetime.timedelta(days=x)).strftime("%d/%m/%Y") for x in range(0, numdays)] for i in range(0,len(date_list)-1): browser.find_element_by_name("inputValuationDate").send_keys(date_list[i]) browser.find_element_by_xpath("//input[@type='SUBMIT']").click() date = browser.find_element_by_tag_name('h4').text units = browser.find_elements_by_class_name('bodytext')[1].text price = browser.find_elements_by_class_name('bodytext')[3].text value = colored(browser.find_elements_by_class_name('bodytext')[5].text, 'green') print(date+","+units+","+price+","+value) browser.quit() display.stop()