CCCPaste

piec_playwright

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)