Compare commits

...

5 Commits

4 changed files with 60 additions and 4 deletions

1
export/.gitignore vendored
View File

@ -23,3 +23,4 @@ yarn-debug.log*
yarn-error.log* yarn-error.log*
image.png image.png
data/

View File

@ -3,17 +3,48 @@ import time
from selenium import webdriver from selenium import webdriver
from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.common.exceptions import NoSuchElementException
from webdriver_manager.chrome import ChromeDriverManager
ser = Service('/usr/lib/chromium-browser/chromedriver')
chrome_options = Options() chrome_options = Options()
chrome_options.add_argument('--headless') chrome_options.add_argument('--headless')
chrome_options.add_argument('start-maximized')
chrome_options.add_argument('--no-sandbox') 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') driver.get('https://sensors.dns.t0.vc')
time.sleep(3) time.sleep(3)
element = driver.find_element(By.ID, 'Solar_Power') driver.execute_script("return document.getElementsByClassName('menu')[0].remove();")
with open('image.png', 'wb') as f: graphs = [
f.write(element.screenshot_as_png) '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() driver.close()
print('done.')

24
export/requirements.txt Normal file
View File

@ -0,0 +1,24 @@
async-generator==1.10
attrs==22.1.0
certifi==2022.6.15
cffi==1.15.1
charset-normalizer==3.1.0
cryptography==37.0.4
h11==0.13.0
idna==3.3
outcome==1.2.0
packaging==23.1
pycparser==2.21
pyOpenSSL==22.0.0
PySocks==1.7.1
python-dotenv==1.0.0
requests==2.28.2
selenium==4.8.3
sniffio==1.2.0
sortedcontainers==2.4.0
tqdm==4.65.0
trio==0.21.0
trio-websocket==0.9.2
urllib3==1.26.11
webdriver-manager==3.8.6
wsproto==1.1.0