Webbrowser per Java steuern

datenmuell

Grünschnabel
Hallo zusammen,

erst einmal hoffe ich, dass ich mit diesem Thema hier im richtigen Forum gelandet bin.

Ich habe bisher eine Applikation entwickelt, die mir immer eine Verbindung zum Internet aufrecht erhält. Wenn z.B. das LAN-Kabel gezogen wird, wird automatisch WLAN aktiviert und die Routingtabelle aktualisiert. Fällt auch WLAN aus, wird auf UMTS geswitcht usw.

Nun möchte ich ein nahtloses Surfen im Internet ermöglichen. Das heißt, dass falls sich im Falle eines Verbindungswechsels eine Webseite gerade im Ladevorgang befindet, dieser Ladevorgang abgebrochen und die Seite neu geladen werden soll. Es müssten demnach die Buttons "Abbrechen" und "Neu laden" automatisiert betätigt werden. Durch den Benutzer soll kein Eingriff erfolgen.

Ist sowas generell per Java möglich? Ich würde gerne Firefox zum Browsen benutzen, aber habe via Google keine API gefunden, mit der ich diese Aktionen ausführen kann. Oder muss ich mir selbst einen Browser per SWT erzeugen? Kann ich diesen dann nach meinen Wünschen steuern? Oder gibt es noch andere Möglichkeiten?

Ich hoffe auf ein paar konstruktive Anregungen / Ideen :)

Viele Grüße,
datenmuell
 
Hi,

nach ein wenig googlen bin ich 2x über eine Fire Fox Schnittstelle names XPCOM gestolpert. Es wurde auch auf einen Guide verwiesen.

Das Intro von dem Guide liest sich ganz gut:
LADyR hat gesagt.:
In this guide we cover two main objectives. First, we learn some XPCOM concepts and use the JavaXPCOM bridge to work with them from Java code. Second, we learn about how to embedding Firefox browser into a Java application.

The examples shown here have been developed, compiled and tested using GNU Linux Ubuntu 8.04 and Java SDK 1.6. We have detected a problem under Windows which causes that the user cannot type text in form fields, although that is not necessary for the examples.
 
Zuletzt bearbeitet:
Danke für die Antworten!

Den XULRunner bzw. JavaXPCOM habe ich auch schon gefunden, allerdings wird dabei ja der Browser in eine Java Applikation eingebettet. Es soll aber auch ein normaler nicht-eingebetteter Browser verwendet werden können.

Chickenfoot hört sich interessant an, die Frage ist jedoch, ob ich das auch außerhalb des Browsers aufrufen kann... Es steht leider nirgendwo, dass man das machen kann. Heißt also, dass der Browser das Script selbst aufrufen muss und das klappt ja leider ohne Benutzereingriff nicht.

Gibt es evtl. sonst noch andere Möglichkeiten? Ich habe Google auch schon lange bemüht, aber nichts Passendes gefunden.
 
Ich würde dir Watir empfehlen. Das ist Ruby, sollte aber kein Problem sein. Eventuell in Verbindung mit dem hier: http://showmedo.com/videotutorials/video?name=2980000&fromSeriesID=298

Hast du den Tip von zeja schon probiert? Außerdem gibt es nicht nur WatiR sondern gleichermaßen auch WatiJ (=Web Application Testing in Java)

Lass dich von dem "Testing" nicht stören. Es ist zwar als Testframework gedacht, tut aber auch nichts anderes als automatisiert Aktionen auszuführen indem es den Browser steuert.

Einen eigenen Browser zu schreiben fände ich hierfür etwas übertrieben. Es gibt genügend Beiträge auch hier im Forum in denen jemand einen kleinen Webbrowser in Java schreiben will. Such vielleicht mal danach und staune was hierbei alles in Betracht gezogen werden muss ;)
 
Zurück