das sollten Sie für das Javascript einstellen:
%Vor%und Sie können auch diese hinzufügen.
%Vor%Das sollte das Problem lösen, wie es für mich getan hat.
Ich bin sehr neu in HtmlUnit. Ich möchte wissen, kann ich mich auf einer Website mit htmlunit anmelden und einige Operationen auf der Website zum Beispiel Ich möchte mich in meinem Office-Portal anmelden und einen Urlaub zu appellieren.
Ich verwende HTML-Unit und es zeigt einige Fehler, ist es möglich, mit HTML-Einheit zu tun oder gibt es andere Werkzeuge, die ich für diesen Zweck verwenden kann Aber wenn ich page2
drucke, wird nur die URL der Anmeldeseite angezeigt und die Homepage-URL wird nicht zurückgegeben. Was könnte das Problem sein?
Dies ist, was ich in meiner Konsole erhalten habe, wenn ich auf das Formular
geklickt habe28. Mai 2012 11:44:15 com com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl benachrichtigen WARNUNG: Veralteter Inhaltstyp wurde gefunden: 'application / x-javascript'. 28. Mai 2012 11:44:16 com com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl benachrichtigen WARNUNG: Veralteter Inhaltstyp wurde gefunden: 'application / x-javascript'. Base Uri 1: HtmlPage(http://www.ccstechnologies.org/login.aspx/)@2741851 Base Uri 2: HtmlPage (http://www.ccstechnologies.org/login.aspx/) @ 2741851
Ergebnisse, die beim Klicken auf die Schaltfläche
generiert wurden %Vor%Ok, ich habe es mir angeschaut, es scheint das Problem war mit dem Knopf. Ich habe die Codezeile für den Button folgendermaßen ersetzt:
%Vor%jetzt scheint es, dass es zumindest versucht, sich anzumelden (und die Seite natürlich druckt ungültige Anmeldung), so sollte es mit entsprechenden Anmeldeinformationen arbeiten. um die Seite in Java zu drucken und zu sehen, dass sie system.out.println (page1.asText ()) oder asXml verwendet, je nachdem, was Sie sehen möchten
Mein Code ist endlich das:
%Vor%Versuchen Sie, Cookies zu aktivieren, und versuchen Sie Javascript zu aktivieren ignoriere Fehler, die gedruckt werden könnten ... (Ich dachte, Fehler in Rot sind schlecht, in HTML-Einheit scheint es nicht unbedingt)
Wenn die Website einen Ajax-Anruf verwendet, um sich anzumelden. Das hat für mich funktioniert. Stellen Sie dies ein
%Vor%Dies würde dazu führen, dass alle Ajax-Aufrufe synchron sind.
So richte ich mein WebClient-Objekt ein
%Vor%