2 Stimmen

Wie zu öffnen IE von Java und führen Sie Operationen wie click() etc. durch Java?

Ich möchte mich über Java bei einer Website anmelden und Vorgänge wie Klicken, Text in ein Textfeld einfügen usw. über Java ausführen.

6voto

skaffman Punkte 389758

Ich empfehle die Verwendung eines Test-Frameworks wie HtmlUnit . Auch wenn es zum Testen entwickelt wurde, ist es ein perfekter programmatischer "Navigator" für entfernte Websites.

Hier ist ein Beispielcode von der Website, der zeigt, wie man zu einer Seite navigiert und ein Formular ausfüllt:

public void submittingForm() throws Exception {
   WebClient webClient = new WebClient();
   HtmlPage page1 = webClient.getPage("http://some_url");
   HtmlForm form = page1.getFormByName("myform");
   HtmlSubmitInput button = form.getInputByName("submitbutton");
   HtmlTextInput textField = form.getInputByName("userid");
   textField.setValueAttribute("root");
   HtmlPage page2 = button.click();
}

4voto

Bill the Lizard Punkte 384619

Sie können es starten, indem Sie

Runtime.getRuntime().exec("command-line command to launch IE");

dann verwenden Sie Javas Roboter Klasse zum Senden von Mausklicks und Ausfüllen von Text. Dies scheint jedoch ziemlich grob zu sein, und Sie können es wahrscheinlich besser machen, indem Sie direkt mit dem Webserver kommunizieren (und dabei den Browser völlig umgehen).

1voto

Vanya Punkte 2895

Diese Frage ist können die Antworten hilfreich sein.

Sie sollten jedoch direktes HTTP als bessere Möglichkeit zur Interaktion mit Websites in Betracht ziehen.

0voto

Simon Groenewolt Punkte 10497

Wenn Sie wirklich einen "echten" IE brauchen, können Sie es mit Watij Wenn Sie nur Browserfunktionen in Java benötigen, empfehle ich HttpClient

Update: wie der OP angedeutet hat, war die Verwendung eines echten Browsers nicht erforderlich/gewünscht. Ein Beispiel für ein Anmeldeformular mit HttpClient finden Sie hier:
https://github.com/apache/httpcomponents-client/blob/master/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientFormLogin.java

0voto

MrWhite Punkte 181

Sie könnten auch WebTest von Canoo verwenden, das eigentlich HTMLUnit verwendet, aber mit einer zusätzlichen Schicht darüber. Es sollte einfacher sein, mit der Skriptebene zu beginnen, und es bietet zusätzliche Abstraktionen für das Versenden von Mails, die Überprüfung der Ausgabe usw.

http://webtest.canoo.com/webtest/manual/WebTestHome.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X