Webes form mezőinek az azonosítása

Adott egy belső céges oldal, rajta egy webform, Smartsheet-ben lett elkészítve. Ezt nem akarom kézzel töltögetni, mert sok egyforma adatot kell bevinni, ezért automatizálnám. Viszont nem találok rajta fogást. Hiába néztem a form kódját, a HTML kód semmit nem mond, csak egy js-re hivatkozik, azt megnyitva meg egy sorba obfuszkált szar kód, nem látom át, nem értem mit csinál. A kódot csak holnap tudom csatolni, ma elfelejtettem kimenteni. Próbáltam a böngésző inspection funkcióját, de az se írja. Nekem csak a mezők neve/id-je kéne. Hogy lehetne megnézni?

Egyelőre AutoHotKey scripttel automatizálom a bevitelt, működik, de elég amatőr és lassúcska, jobb lenne, ha inkább közvetlenül ?név1=érték&név2=érték formában küldeném el a weben. Gondolom, hogy a form nem GET-et használ, mivel nem látom küldéskor, hogy elküldene URL-t, de elvileg az URL átmókolása működhet POST-os feldolgozás esetén is.

Hozzászólások

Nincs az inputnak id-je? Persze, ha js, akkor gondolom, az generálhat id-t, akármit. Szerintem a HTML Document Object Modelből JS-sel hozzá tudsz férni. Már, ha megértettem, de nem biztos. Ha automatizálsz, mi van a böngésző helyén? Egy wget vagy curl?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Azt még nem tudom, hogy curl vagy wget, valami ilyesmire gondoltam. Pont ez az, hogy nincs a HTML és JS kódban klasszik input tag-es mező, ami írná a name, id adatokat.

Ehhez a DOM-hoz JS-tel hogy férek hozzá, valami példát tudnál írni rá vagy linkelni?

The world runs on Excel spreadsheets. (Dylan Beattie)

Csináltam műszerhez részleges webes felületet, de ott ugye én írom a szerver oldali php kódot is, és a kliens oldali html, css, js kódot is. Hirtelen ebben gondolkodtam, de itt a js-t nem te írod, azt a szervertől kapod. Tehát, ha jól értem, egy böngészőt akarsz emulálni, de ahhoz magadnál kell futtatni a szervertől kapott js-t is, meg ez egész DOM-ot emulálni kellene, gondolom, ellenkező esetben szerintem elhasal a szerver által küldött, kliensen futtatandó js. Vigasztalj meg, hogy nem egy fél délután akarsz megírni valamilyen scriptnyelven egy GUI nélküli böngészőt! :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

irj be teszt adatokat, es nezd meg a firefox webtools (f12) halozati fulen, hogy mit kuldott. ugyanabban a formaban te is el tudod kuldeni az adatot.

neked aztan fura humorod van...

Ú, kösz, ez eszembe se jutott, hogy nem csak az inspector-ral, de a network részen is lehetne detektálni, hogy mit küld el a form. Kipróbálom holnap.

Szerk.: sajnos nem jött össze, a network részen se hozott a böngésző használhatót.

The world runs on Excel spreadsheets. (Dylan Beattie)

Az elinks valahogy nem scriptelhető? Mindenesetre külső editor megadható neki az EDITOR környezeti változóval, ami ígéretes.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Igen, pont ez az. Az adatokat bevihetném simán táblázatszerűen, tömeges beillesztésként Smartsheet-ben, de a főnök lezárt egyes oszlopokat, hogy közvetlenül nem lehet a táblázathoz semmit adni, csak a formon keresztül, ezt szerintem azért csinálta, hogy validálja a bekerülő adatokat.

Sajnos a Smartsheet API-t meg az új form létrehozását nem használhatom, mert nincs meg hozzá az admin jogom a Smartsheet felületén.

The world runs on Excel spreadsheets. (Dylan Beattie)

Próbáltam a böngésző inspection funkcióját, de az se írja

Pedig valamit ott elnéztél. Az lehet, hogy a konkrét oldal forrásában kb csak egy scriptként behivatkozott JS van (az meg nyilván minified, embernek olvashatatlan), de ha megjelenik a browserban, akkor bizony ott html lesz*, a DOMban látszani kell azoknak a mezőknek. Jobb click valami elemen, inspect, és ott lesz az.

?név1=érték&név2=érték

Az más kérdés, hogy szinte biztosan nem egy simán formként felpostolt cucc lesz jó eséllyel. A legtöbb ilyen keretrendszer valami AJAX hívást csinál hátul jsből, nem a főoldallal postol általában, szóval tényleg a legjobb azt nézni, hogy mit küld hátul a netwörkön.

Vagy hát, ha erről a smarsheetről van szó, akkor annak van apija, leírással: https://smartsheet.redoc.ly/#section/Introduction , meg van vagy 5 féle sdk hozzá.

* Jó, persze, lehetne valami webassembly, ami csak egy canvasra rajzolgat, de kétlem :)

Nem, nem néztem be. De rájöttem az okára, ez nem form. Úgy néz ki, mintha form lenne, de ez egy teljesen JS-es mókolás, ide feltöltöttem 7-zip-pel csomagolva, mivel Windowson készült. A HTML-t nem mentettem el, mert abban tényleg nincs semmi, szokásos header, body, meg erre a JS-re hivatkozás, semmilyen értelmes tartalmi tag nincs benne, se input, se semmi más.

A Smartsheet terén nem a hozzáértésemmel van baj, mert elboldogulnék vele, hanem hogy nincs az adott táblázatokhoz admin jogom, így se az API-t nem tudom használni, se új formot létrehozni, se semmit. Admin joga csak a főnöknek van.

The world runs on Excel spreadsheets. (Dylan Beattie)

Ja, én is így vagyok vele, de mivel új vagyok, nem pofázhatok. Egyébként én értem, validálni akarja a bekerülő adatokat, és csak ezen a formon keresztül tudja megoldani. Gondolom korábban a sok normi balfék érvénytelen adatokat vitt be állandóan.

The world runs on Excel spreadsheets. (Dylan Beattie)