Capture all sensor graphs

This commit is contained in:
Tanner Collin 2023-04-18 20:25:22 +00:00
parent 29ac0345c6
commit 08b7196c26

View File

@ -3,17 +3,37 @@ import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
ser = Service('/usr/lib/chromium-browser/chromedriver')
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver', options=chrome_options)
driver = webdriver.Chrome(service=ser, options=chrome_options)
driver.get('https://sensors.dns.t0.vc')
time.sleep(3)
element = driver.find_element(By.ID, 'Solar_Power')
graphs = [
'Solar_Power',
'Living_Room_Air',
'Outside_Temperature',
'Bedroom_Temperature',
'Nook_Temperature',
'Misc_Temperature',
'Nook_Thermostat',
'Gas_Usage',
'Water_Usage',
'Living_Room_Lux',
]
with open('image.png', 'wb') as f:
for graph in graphs:
print('Capturing', graph, 'graph...')
element = driver.find_element(By.ID, graph)
with open('data/{}.png'.format(graph), 'wb') as f:
f.write(element.screenshot_as_png)
driver.close()
print('done.')