Compare commits
5 Commits
43535d0a95
...
c693d30394
Author | SHA1 | Date | |
---|---|---|---|
c693d30394 | |||
a7ca48dacf | |||
08b7196c26 | |||
29ac0345c6 | |||
b393b88127 |
1
export/.gitignore
vendored
1
export/.gitignore
vendored
|
@ -23,3 +23,4 @@ yarn-debug.log*
|
|||
yarn-error.log*
|
||||
|
||||
image.png
|
||||
data/
|
||||
|
|
|
@ -3,17 +3,48 @@ 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 selenium.common.exceptions import NoSuchElementException
|
||||
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('start-maximized')
|
||||
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')
|
||||
driver.execute_script("return document.getElementsByClassName('menu')[0].remove();")
|
||||
|
||||
with open('image.png', 'wb') as f:
|
||||
f.write(element.screenshot_as_png)
|
||||
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()
|
||||
print('done.')
|
||||
|
||||
|
|
24
export/requirements.txt
Normal file
24
export/requirements.txt
Normal 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
|
Loading…
Reference in New Issue
Block a user