From 1d5f63f86d4b4059fe7cd0b10fec364eef801965 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Mon, 8 May 2023 21:15:39 +0000 Subject: [PATCH] Wrap export in try: finally: --- export/main.py | 72 +++++++++++++++++++++++++++----------------------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/export/main.py b/export/main.py index 4233a97..a2fba8f 100644 --- a/export/main.py +++ b/export/main.py @@ -12,39 +12,45 @@ chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('start-maximized') chrome_options.add_argument('--no-sandbox') + driver = webdriver.Chrome(service=ser, options=chrome_options) -driver.get('https://sensors.dns.t0.vc') -time.sleep(3) - -driver.execute_script("return document.getElementsByClassName('menu')[0].remove();") - -graphs = [ - 'Solar_Power', - 'Living_Room_Air', - 'Outside_Temperature', - 'Bedroom_Temperature', - 'Nook_Temperature', - 'Misc_Temperature', - 'Nook_Thermostat', - 'Gas_Usage', - 'Water_Usage', - 'Living_Room_Lux', -] - -for graph in graphs: - print('Capturing', graph, 'graph...') - - try: - element = driver.find_element(By.ID, graph) - except NoSuchElementException: - print('Graph not found, skipping.') - continue - - driver.execute_script('arguments[0].scrollIntoView({block: "center"});', element) - - with open('/home/tanner/sensors/export/data/{}.png'.format(graph), 'wb') as f: - f.write(element.screenshot_as_png) - -driver.close() + +try: + driver.get('https://sensors.dns.t0.vc') + time.sleep(3) + + driver.execute_script("return document.getElementsByClassName('menu')[0].remove();") + + graphs = [ + 'Solar_Power', + 'Living_Room_Air', + 'Outside_Temperature', + 'Bedroom_Temperature', + 'Nook_Temperature', + 'Misc_Temperature', + 'Nook_Thermostat', + 'Gas_Usage', + 'Water_Usage', + 'Living_Room_Lux', + ] + + for graph in graphs: + print('Capturing', graph, 'graph...') + + try: + element = driver.find_element(By.ID, graph) + except NoSuchElementException: + print('Graph not found, skipping.') + continue + + driver.execute_script('arguments[0].scrollIntoView({block: "center"});', element) + + with open('/home/tanner/sensors/export/data/{}.png'.format(graph), 'wb') as f: + f.write(element.screenshot_as_png) + +finally: + driver.close() + driver.quit() + print('done.')