Der [Intersult] [HtmlClient] ist ein sehr einfacher virtueller Browser.
!!!Anwendung
Ziel ist der Zugriff auf Web-Seiten durch Programme. Dies ist interessant im Rahmen von Datengewinnung, Ablaufautomatisierungen und Software- und Systemtests.
Beim Verwenden des HtmlClient werden immer Page-Objekte zurückgegeben. Die erste Page erhält man beim Aufruf der Methode begin, anschließend wieder bei navigate- oder submit-Aufrufen.
Die Page enthält den geparsten HTML-Inhalt, darin kann auf alle HTML-Elemente zugegriffen werden. Entweder über die Seitenhierarchie des DOM oder über XPath-Ausdrücke. Einige Elemente wie Form oder Submit haben spezielle Java-Implementierungen, um einfacher weitere Operationen durchführen zu können.
!!!Einbinden und Download
Der [HtmlClient] kann aus dem [Intersult Maven Repository] bezogen werden:
{{{
<dependency>
<groupId>com.intersult</groupId>
<artifactId>html</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
}}}
!!!Beispiel
{{{
HtmlClient client = new HtmlClient(new UrlClient());
Page page = client.begin(new URL("http://localhost/"), null, false);
Assert.assertNotNull(page);
Form form = (Form)page.getElement("//FORM[@id = 'header-login']");
Assert.assertNotNull(form);
Input username = (Input)form.getElement(".//INPUT[@name = 'header-login:username']");
Assert.assertNotNull(username);
username.setValue("test");
Input password = (Input)form.getElement(".//INPUT[@name = 'header-login:password']");
Assert.assertNotNull(password);
password.setValue("test");
Submit submit = (Submit)form.getElement(".//INPUT[@type = 'submit']");
Page home = submit.submit(true);
}}}