from playwright.sync_api import Playwright, sync_playwright, expect
from bs4 import BeautifulSoup
import requests
import json
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=True)
context = browser.new_context()
page = context.new_page()
page.goto("http://wojszym2244.usermd.net/")
page.locator("img[alt=\"Zaloguj\"]").click()
page.locator("[placeholder=\"Wprowadź ID wpisane do sterownika\"]").click()
page.locator("[placeholder=\"Wprowadź ID wpisane do sterownika\"]").fill("1000000000") # <- to wpisać ID
page.locator("[placeholder=\"Wprowadź Nick zapisany na stronie\"]").click()
page.locator("[placeholder=\"Wprowadź Nick zapisany na stronie\"]").fill("test") # <- to wpisać nick
page.locator("[placeholder=\"Wprowadź PIN wpisany do sterownika\"]").click()
page.locator("[placeholder=\"Wprowadź PIN wpisany do sterownika\"]").fill("1234") # <- to wpisać PIN
page.locator("text=Login").click()
# ---------------------
# od tego miejsca można scrapować np. z wykorzystanem BeautifulSoup
html = page.content()
soup = BeautifulSoup(html, 'html.parser')
butotalfuel = soup.select('#butotalfuel')
bu24hfuel = soup.select('#bu24hfuel')
buactualfuel = soup.select('#buactualfuel')
OpalStan = soup.select('#OpalStan')
OpalZostaloDni= soup.select('#OpalZostaloDni')
json_table = {"butotalfuel": float(butotalfuel[0].text),
"bu24hfuel": float(bu24hfuel[0].text),
"buactualfuel": float(buactualfuel[0].text),
"OpalStan": float(OpalStan[0].text[:-2]),
"OpalZostaloDni": int(OpalZostaloDni[0].text[:-1])}
json_object = json.dumps(json_table, indent = 4)
# zapis json do pliku piec.json
with open("piec.json", "w") as outfile:
outfile.write(json_object)
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)