2017-08-16 2 views
0

Ich benutze Java, um eine Webseite zu crawlen.Wie bekomme ich das HtmlPage-Objekt, nachdem ich den Eingabewert nach Code gesetzt habe. (Java Webparser)

Ich importierte com.gargoylesoftware.html Einheit in meinem Projekt und ich kann die Webseite bekommen.

Es gibt eine Eingabe in die Webseite. Wenn ich ein Schlüsselwort in die Eingabe einfüge und die "Enter" -Taste drücke, wird ein Teil der Webseite aktualisiert. Es gibt keinen Absenden-Button. Wie kann ich die aktualisierte Webseite in meinem Java-Code bekommen?

Hier ist mein Code:

client.getOptions().setJavaScriptEnabled(true); 
client.getOptions().setRedirectEnabled(true); 
client.setAjaxController(new NicelyResynchronizingAjaxController()); 

HtmlPage page = client.getPage(url); 
HtmlInput termInput = (HtmlInput) page.getByXPath("/html/body/div[2]/div/main/section/div/div/div/div/div[1]/div/div[2]/input").get(0); 
termInput.setAttribute("value", "Annual Report"); 
saveFile(this.getFilePath(""), page.asXml()); 

ich die Webseite als Datei in meinem Computer speichern. Ich kann es im Browser öffnen. Und ich kann den Wert sehen, den ich in der Eingabe einstelle, aber der Inhalt wird nicht aufgefrischt.

Es gibt keine Schaltfläche zum Senden.

Antwort

0

Um die Seite durch Drücken der Eingabetaste zu aktualisieren, müssen Sie die Escape-Sequenz eingeben, um den Eingang einzugeben.

Sie tun dies, indem \ n in den Eingang wie solche eingeben:

termInput.type("\n"); 
Verwandte Themen