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.
- 178 megtekintés
Hozzászólások
É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
- A hozzászóláshoz be kell jelentkezni
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..
- A hozzászóláshoz be kell jelentkezni