# HTML Formular mit Java ausfüllen und absenden



## TheKing (19. Nov 2010)

Hallo, ich habe en GUI basiertes Programm geschrieben, welches auf Knopfdruck eine Seite mit einem Login formular öffnen soll. Das Programm sollte automatisch den Benutzernamen und das Passwort eingeben und dann auf Absenden drücken... Nur bleib ich schon beim öffnen der Seite hängen... Ist es überhaupt möglich eine html Seite mit Java zu öffnen?


----------



## Runtime (19. Nov 2010)

Ja, klar, aber das Anzeigen der Seite ist sehr begrenzt.


----------



## XHelp (19. Nov 2010)

Meinst du es so:
"Deinen Browser mit der Seite öffnen, Mauszeigen+Tastatur durch schwarze Magie betätigen, Werte eingeben und auf "Absenden" drücken"? Dann wirst du da Probleme bekommen. Generell sollte es möglich sein, wenn du die Positionen der Felder kennst. Und die Position könntest du evtl mit Screenshotsauswertung rausfinden.


----------



## moccajoghurt (19. Nov 2010)

Ist das jetzt auf eine bestimmte Seite bezogen, oder soll es universell auf mehrere Websites anwendbar sein?

Wenn es sich auf eine Bestimmte bezieht, dann kann ich HtmlUnit (ein Browser ohne Gui, der im Hintergrund läuft) nur weiterempfehlen, ist sehr viel leichter als eigene Post-Requests zu schreiben.


----------



## Runtime (19. Nov 2010)

Dann stellt sich noch die Frage, wie du die Website dann bedienen willst.


----------



## ARadauer (19. Nov 2010)

selenium vieleicht... aber der anwendungszweck geht eher in die falsche richtung... diese tools sind zum testen der eigenen anwendung da...


----------



## scue (2. Feb 2011)

hi,

ich greif mal das Thema auf, auch wenn es schon älter ist. 

Angenommen das Formular sieht so aus:
[XML]<html>
	<head>
		<title>Automatischer Ausfüllversuch</title>
	</head>

	<body>
		<form name="Formular1" action="http://www.google.de">
			<input typ="textarea">
			<input type="submit">
		</form>

	</body>

</html>[/XML]

wie könnte ich denn jetzt mit Java darauf zugreifen? 

Grüße


----------



## XHelp (2. Feb 2011)

Also namen von den Variablen sollten schon vergeben sein. Wenn keine Methode angegeben ist, dann wird GET benutzt, also brauchst du nur die gewünschte URL zusammenzubauen

```
www.bla.com/file.php?param1=value1&param2=value2
```
und aufzurufen. Aber eigentlich solltest du unter "java send http get request" bei google genügend Beispiele finden.


----------



## scue (2. Feb 2011)

ok dann erschweren wir es etwas. das mit der Methode get ist mir klar. Habe selber zwei websiten gebastelt. Google soll auch erstmal nur als Beispiel dienen. Mein Ziel wär es, in Java einen Button zu klicken, der das Textarea "inhalt" eine value zuweist und das Formular anschließend abschickt.


```
<html>
    <head>
        <title>Automatischer Ausfüllversuch</title>
    </head>
    
    <body>
        <form name="Formular1" method="Post" action="http://www.google.de">
            <input name="inhalt" typ="textarea">
            <input name="sendebutton" type="submit">
        </form>
    
    </body>
 
</html>
```


----------



## XHelp (2. Feb 2011)

Dann machst du aus dem genannten "java send http *get* request" eben "java send http *post* request" und bekommst bei google Beispiele zum rüberkopieren :bahnhof:


----------

