Gázfogyasztás letöltés Seleniummal vagy mással

Adott egy üzem, aminek az adatait le lehet tölteni kézzel a Tigáz oldaláról, de csak kézzel és nincs ütemezett letöltési lehetőség.

Próbálkoztam a Selenium-mal, fel tudtam venni böngészőből a letöltést, de a dátum módosításához be kellett tenni a műveletsorba egy Type eseményt, mert a dátumválasztón lévő műveletsort már nem vette fel. Ezt így böngészőkiegészítőn vissza is játszottam, viszont parancssorból indítva (nodeJS alapú selenium-side-runner) mind Chrome mind Firefox driverrel próbálva pont ennél az eseménynél elakad. Enélkül lejátszható, csak épp a dátumot nem lehet beállítani és sajnos alapértelmezetten az az intervallum van kiválasztva, mikor még nincs adat. Az a baj, hogy az adott mező az oldalon nem szerkeszthető, de valahogy a webes plugin mégis ki tudja tölteni, ütemezéshez viszont szükség lenne a parancssorra.

Hozzászólások

Szerkesztve: 2022. 09. 14., sze – 11:32

Én pont a napokban csináltam puppeteer-rel. Ezzel ment és az óminózus lekérdezése nem CSS selectorral, hanem xPathal...
Ja, mivel mániám node:18-slim dockerben

Na köszi az infót, ezt is megnézem ha még valahol elakadok, de idő közben nekiálltam a Selenium Java meghajtójával, nekem az a környezet otthonosabb. Kapásból az se tudta beírni viszont ezzel a trükkel, amit a neten találtam, sikerült az előbb:

 

//dátummező kiválasztása

WebElement date1 = driver.findElement(By.id("input1"));

 

//ez a clikk() lehet, hogy felesleges, de még nem szedtem ki

date1.click();

 

//gondolom, meghívja a böngésző javascript motorját és az írja be az adatokat

//eredetileg a date1.sendKeys lett volna, a makróban type parancs volt, de az Java alatt nem volt elérhető metódus, a sendKeys meg beint, ha readonly a mező

//prevWeekSt az egy héttel ezelőtti a dátum (vagy amilyet szeretnénk) az oldal által várt formában, és hozzácsaptam a nulla óra nulla percet.

((JavascriptExecutor)driver).executeScript("arguments[0].value=arguments[1]", date1, prevWeekSt+" 00:00");

Színes vászon, színes vászon, fúj!

Kérem a Fiátot..