Javascript uitvoeren op lijst URL's

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • I-King
  • Registratie: Maart 2003
  • Nu online
Ik ben op zoek naar een manier om bij een bepaalde lijst URL's een stukje javascript uit te voeren. Wat ik feitelijk wil bereiken is het aanpassen van een veld en deze dan in een formulier versturen.

Het is me gelukt een bookmarklet hiervoor te maken. Deze handeling moet echter honderden keren uitgevoerd worden. Ik heb helaas geen controle over de server, anders was het makkelijk geweest.

Is het mogelijk om een op een lijst URL's (die ik nu in Excel heb), deze code uit te voeren?

Ik heb wat zitten klooien met Postman bijv. maar omdat het systeem achter een dubbele login zit en met cookies werkt liep ik hier spaak. In ieder post request zit namelijk weer een uniek ID. De bookmarklet zat dichter bij normaal gebruik en werkt daarom wel.

Ik ben een Google copy/paste hobbiest, dus ik liep spaak op het automatiseren van de lijst URL's.

Heeft iemand tips?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik vind het, to be honest, at best behoorlijk dubieus wat je probeert te doen. Maar ik zie al helemaal niet waarom je dit in JS wil oplossen; er zijn hiervoor vele betere oplossingen.

Either way: wat heb je dan al geprobeerd/gezocht/gevonden en waar liep je dan concreet spaak? Zgn. Kan iemand even...? topics zijn we hier namelijk niet heel happig op ;) In onze Quickstart kun je lezen wat we hier zoal in een topicstart verwachten en veel van die zaken ontbreken nu. Het zou dan ook fijn zijn als je je topicstart aanvult met de ontbrekende zaken en wat verduidelijkt wat je nu precies probeert te doen.

[ Voor 68% gewijzigd door RobIII op 23-12-2016 12:15 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • I-King
  • Registratie: Maart 2003
  • Nu online
Zoals gezegd, ik ben geen programmeur en de bookmarklet was de eerste oplossing die ik kon vinden die werkte.

Ik kan me voorstellen dat het dubieus klinkt, maar het betreft een zakelijke omgeving waarbij de ontwikkelaar van dit systeem geen bulk edit heeft ontworpen. We moeten nu een groot aantal data resetten en dat kunnen we doen door handmatig de links te bezoeken en het drop-down veld aan te passen en op te slaan, maar dat wil ik makkelijker kunnen doen.

Heb je tips voor welke 'vele betere oplossingen' hier voor te vinden zijn?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
I-King schreef op vrijdag 23 december 2016 @ 12:14:


Heb je tips voor welke 'vele betere oplossingen' hier voor te vinden zijn?
Ik begreep uit je TS dat het om verschillende sites met verschillende formulieren ging. Nu lees ik dat het 1 site betreft met telkens dezelfde actie. Wat let je dan om de url's in een array te zetten en die te doorlopen en je actie uit te voeren?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • I-King
  • Registratie: Maart 2003
  • Nu online
Ah ok, dan was dat niet duidelijk uitgelegd. Ik heb dit met een array proberen te doen, maar na de eerste link uit de array wordt de nieuwe pagina geladen en stopt het script. Ik heb nog geprobeerd dit in een iframe te doen, zodat alleen de iframe opnieuw geladen wordt, maar dan kon ik de waardes niet manipuleren.

Het kan zijn dat ik iets fout heb gedaan, zoals gezegd ik ben meer een copy/paste 'programmeur'.

Dit staar er nu in de bookmarklet:
code:
1
2
3
4
 document.getElementById("year").value = "2020";
 document.getElementById("month").value = "1";
 document.getElementById("date").value = "1";
 document.form1.submit();


Urls hebben allemaal een formaat van domein.com/date/ID. Ik heb de ID's in een file staan, en daarmee kan ik dus vrij makkelijk de URL's genereren.

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
Kun je niet gewoon de betreffende (POST) request nabootsen met curl o.i.d. en iedere keer een ID of naam aanpassen? Dat is met een simpel for-loopje in een paar tellen te automatiseren.

Acties:
  • 0 Henk 'm!

  • I-King
  • Registratie: Maart 2003
  • Nu online
Dag mcDavid, daar heb ik naar gekeken. Ik heb er weinig kennis van, maar ik liep vast op de volgende zaken:
- Er wordt eerst ingelogd met een naam/pass popup (dit was nog gelukt)
- Daarna wordt er nog weer ingelogd met een web form (was al wat lastiger)
- Bij ieder POST request wordt een uniek ID meegestuurd, die is voor iedere refresh weer anders.
- Ook worden er cookies geplaatst en ik heb geen idee hoe hier mee om te gaan. Zonder accepteert hij het niet.

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
https://curl.haxx.se/docs/manpage.html#-c

uniek ID (als dat noodzakelijk is) zou je kunnen scrapen door eerst het form te downloaden.

Acties:
  • 0 Henk 'm!

  • I-King
  • Registratie: Maart 2003
  • Nu online
Ik heb nu een point & click methode gevonden die wel aardig werkt, door een combinatie van het bovenstaande script en 2 extensies:
Custom Javascript for Websites
Bulk URL opener

De 1e zorgt voor het uitvoeren van de code in de bookmarklet, de 2e zorgt voor het openen van de links. Wellicht niet zo sexy, maar het voldoet. Bedankt iedereen voor het meedenken. mcDavid, ik ga je oplossing wel eens beter bestuderen, voor mijn algemene kennis en wellicht toekomstige doeleinden wel goed om mee te kunnen werken.

Acties:
  • 0 Henk 'm!

  • q-enf0rcer.1
  • Registratie: Maart 2009
  • Laatst online: 09-10 14:44
Je kunt JavaScript in de browserbalk uitvoeren, bijvoorbeeld:

data:text/html,<script>location.href='http://google.nl';alert("Hello");</script>

Kan me overigens voorstellen dat deze methode precies omgekeerd is voor wat je wilt bereiken, maar misschien heb je er toch wat aan.
Pagina: 1