Skript Webformular ausfüllen

J

jänz

Aktives Mitglied
Thread Starter
Dabei seit
06.06.2006
Beiträge
420
Reaktionspunkte
2
Hallo zusammen,

ich versuche mich momentan an Automator,

ich würde gerne ein Skript basteln mit dem ich eine Anmeldeprozedur auf einer Webseite automatisch ausführe.

Mittels "angegebener URLs abfragen" habe ich schonmal die richtige Webseite geöffnet. Wie schaffe ich es jetzt, dass automatisch ein bestimmter Button auf der Webseite gedrückt wird und danach mein Name etc. in Textfelder eingegeben werden?

Gruß
Jens
 
Danke, aber leider hilft mir das nicht wirklich weiter. Den Thread hatte ich auch schon gefunden. Um mal konkret zu werden:

Auf dieser Seite müsste einer der Button Buchen (unten auf der Seite) gedrückt werden
 
Der Button ist nichts anderes, als ein Link. Das heisst, du musst eigentlich nur den Link öffnen.

Ich nehme mal an, dass es dir darum geht dich zu Semesterbeginn möglichst schnell anzumelden, um noch einen Platz zu bekommen.
 
Das Problem liegt auch eher auf der nächsten Seite, da muss man dann einen "Radio Button" (Heißt der so?!) anklicken und weiter unten auf nen Button "weiter zur Buchung" klicken.

Hintergrund: Man muss sich jede Woche neu für die einzelnen Stunden anmelden und wehe man ist 2h zu spät, dann ist alles ausgebucht.
 
Das geht dann am Besten mit Javascript:

Code:
[FONT=Verdana][size=2][b]tell[/b] [color=#0000FF][i]application[/i][/color] "Safari"
	[color=#0016B0][b]open location[/b][/color] "https://hochschulsport.rwth-aachen.de/cgi/anmeldung.fcgi?Kursid=53467"
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "document.forms[0]['Termin'].checked=true;
document.forms[0]['submit'].click();" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "document.getElementById('maennlich').checked=true;
document.forms[0]['Vorname'].value='Heinz';
document.forms[0]['Name'].value='Mueller';
document.forms[0]['Strasse'].value='Musterstrasse 25';
document.forms[0]['Ort'].value='12345 Musterhausen';
document.forms[0]['Statusorig'].value='S-RWTH';
document.forms[0]['Matnr'].value='1234567890';
document.forms[0]['tnbed'].checked=true;
document.forms[0]['submit'].click();" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
[b]end[/b] [b]tell[/b][/size][/FONT]
 
  • Gefällt mir
Reaktionen: jänz
WOW!

Vielen Dank! :) Ich habe mal versucht das Ganze für mich anzupassen, hat auch soweit geklappt. Nachdem man aber auf "weiter zur Buchung" klickt, kommt nochmal eine Zusammenfassung, wo man nochmal die Buchung mit "verbindliche Buchung" bestätigen muss. Was muss ich bei mir da noch abändern?

Code:
tell application "Safari"
	open location "https://hochschulsport.rwth-aachen.de/cgi/anmeldung.fcgi?Kursid=53477"
	delay 1
	do JavaScript "document.forms[0]['Termin'].checked=true;
document.forms[0]['submit'].click();" in front document
	delay 1
	do JavaScript "document.getElementById('maennlich').checked=true;
document.forms[0]['Vorname'].value='X';
document.forms[0]['Name'].value='X';
document.forms[0]['Strasse'].value='X';
document.forms[0]['Ort'].value='X';
document.forms[0]['Statusorig'].value='S-RWTH';
document.forms[0]['Matnr'].value='X';
document.forms[0]['tnbed'].checked=true;
document.forms[0]['submit'].click();" in front document
	delay 1
	do JavaScript
	"document.forms[0]['submit'].click();" 
end tell

Der Quellcode auf der Webseite:

HTML:
  <input class=sub type="submit" value="zurück zum Formular" name="back">
		  </div>
			<div style="float:right;"> 
         [B] <input class=sub type="submit" value="verbindliche Buchung" name="submit">[/B]
			</div>
			<br><br>
 
Zuletzt bearbeitet von einem Moderator:
Probiers mal so:

Code:
[FONT=Verdana][size=2][b]tell[/b] [color=#0000FF][i]application[/i][/color] "Safari"
	[color=#0016B0][b]open location[/b][/color] "https://hochschulsport.rwth-aachen.de/cgi/anmeldung.fcgi?Kursid=53467"
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "document.forms[0]['Termin'].checked=true;
document.forms[0]['submit'].click();" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "document.getElementById('maennlich').checked=true;
document.forms[0]['Vorname'].value='Heinz';
document.forms[0]['Name'].value='Mueller';
document.forms[0]['Strasse'].value='Musterstrasse 25';
document.forms[0]['Ort'].value='12345 Musterhausen';
document.forms[0]['Statusorig'].value='S-RWTH';
document.forms[0]['Matnr'].value='1234567890';
document.forms[0]['tnbed'].checked=true;
document.forms[0]['submit'].click();" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "document.forms[0]['submit'].click();" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
[b]end[/b] [b]tell[/b][/size][/FONT]
 
Leider nein. Es gibt zwei submit Buttons "Zurück zum Formular" und "verbindliche Buchung" (siehe oben in dem Quellcode). Liegt es vllt daran, das deshalb nicht eindeutig ist, welcher submit button gemeint ist?
 
Nein, die Zuordnung geht eigentlich über den name. Was bringt er dir denn dabei:

Code:
[FONT=Verdana][size=2][b]tell[/b] [color=#0000FF][i]application[/i][/color] "Safari"
	[color=#0016B0][b]open location[/b][/color] "https://hochschulsport.rwth-aachen.de/cgi/anmeldung.fcgi?Kursid=53467"
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "document.forms[0]['Termin'].checked=true;
document.forms[0]['submit'].click();" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "document.getElementById('maennlich').checked=true;
document.forms[0]['Vorname'].value='Heinz';
document.forms[0]['Name'].value='Mueller';
document.forms[0]['Strasse'].value='Musterstrasse 25';
document.forms[0]['Ort'].value='12345 Musterhausen';
document.forms[0]['Statusorig'].value='S-RWTH';
document.forms[0]['Matnr'].value='1234567890';
document.forms[0]['tnbed'].checked=true;
document.forms[0]['submit'].click();" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
	[color=#0016B0][b]delay[/b][/color] 1
	[color=#0000FF][b]do JavaScript[/b][/color] "alert(document.forms[0]['submit'].value);" [color=#0000FF]in[/color] [b]front[/b] [color=#0000FF][i]document[/i][/color]
[b]end[/b] [b]tell[/b][/size][/FONT]
 
Zurück
Oben Unten