Hey Java-Forum,
Muss derzeit eine Website "fernsteuern".
Soweit ich gelesen hab geht das am besten mit der HTMLUnit.
Habe mir diese runtergeladen und mal ein kleines Login-Programm geschrieben.
Allerdings arbeitet es sehr langsam.
So braucht es 2,7 Sekunden um sich einzuloggen.
Um dann auf der Seite einen weiteren Link zu öffnen dauert es min. weiter 0,8 Sekunden.
Da bin ich mit Firefox per Hand fast genauso schnell wenn ich mich beeile.
Kann man die HTMLUNIT irgendwie "beschleunigen"?
Oder gibt es eine Alternative die schneller arbeitet?
Thx für Antworten
Jake
Ps.: Anbei der Code mit dem ich mich einlogge für Verbesserungsvorschläge
Muss derzeit eine Website "fernsteuern".
Soweit ich gelesen hab geht das am besten mit der HTMLUnit.
Habe mir diese runtergeladen und mal ein kleines Login-Programm geschrieben.
Allerdings arbeitet es sehr langsam.
So braucht es 2,7 Sekunden um sich einzuloggen.
Um dann auf der Seite einen weiteren Link zu öffnen dauert es min. weiter 0,8 Sekunden.
Da bin ich mit Firefox per Hand fast genauso schnell wenn ich mich beeile.
Kann man die HTMLUNIT irgendwie "beschleunigen"?
Oder gibt es eine Alternative die schneller arbeitet?
Thx für Antworten
Jake
Ps.: Anbei der Code mit dem ich mich einlogge für Verbesserungsvorschläge
Code:
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3);
webClient.setJavaScriptEnabled(false);
webClient.setCssEnabled(false);
HtmlPage page = null;
long time1=System.currentTimeMillis();
try {
page = webClient.getPage("(Website)");
System.out.println(page.getTitleText());
List<HtmlForm> forms = page.getForms();
HtmlForm form = forms.get(0);
HtmlTextInput textField = (HtmlTextInput) form.getInputByName("(Email-Adresse)");
textField.setValueAttribute("(LoginName)");
HtmlPasswordInput textField2 = (HtmlPasswordInput) form.getInputByName("(Passwort)");
textField2.setValueAttribute("(Pw)");
HtmlSubmitInput button = (HtmlSubmitInput) form.getInputByName("login");
HtmlPage page2 = (HtmlPage) button.click();
System.out.println(page2.getBody().asText());
} catch ( Exception e) {}
long time2=System.currentTimeMillis()-time1;
System.out.println(time2);