webentwicklung-frage-antwort-db.com.de

Headless Browser mit vollständiger Javascript-Unterstützung für Java

Ich habe HtmlUnit (die Entwickler haben großartige Arbeit geleistet) als Headless-Browser für einige meiner früheren Anwendungen verwendet, aber die JavaScript-Unterstützung funktioniert nicht für einige Websites, auf die meine nächste Anwendung zugreifen wird.

  1. Ich habe von der QtWebKit-Bindung für Python gehört, aber meine Anwendung wird in Java sein oder gibt es eine Java-Bindung für WebKit oder QtWebKit?

  2. Kennt jemand einen guten Headless-Browser für Java mit voller Javascript-Unterstützung?

25
John

Nathan Ridleys Antwort auf eine ähnliche Frage ist die vollständigste, die ich bisher gefunden habe.

Wenn alles fehlschlägt, können Sie eine Python- oder JS-Alternative verwenden, deren Funktion als Webservice in Ihrem Server verfügbar machen. Dann kann Ihre Java-Anwendung die Funktion des Headless-Browsers über den Webservice verwenden. Das Einrichten wäre schwierig, aber es kann eine sinnvolle Alternative sein, wenn nichts anderes wie gewünscht funktioniert.

es gibt einige "nicht kopflose" Browser-Wrapper für Java ; Vielleicht ist es möglich, je nach Anforderung eine Testlösung um diese herum aufzubauen.

5
Haroldo_OK

Werfen Sie einen Blick auf phantom.js . Basierend auf dem Webkit bietet es einen kompletten Browser ohne Kopfhörer.

4
Sirko

Rhino + env.js ist eine vollständige Java-Lösung. Ich habe sie verwendet, sie ist nicht sehr schnell, scheint aber ziemlich stabil zu sein und sollte Ihnen die richtige Unterstützung für js bieten.

3
Simone Gianni

check out zombie.js . Es ist sehr schnell aus meiner Erfahrung

1
Frank Visaggio

Möglicherweise ist https://github.com/machinepublishers/jbrowserdriver - kopflos und nur in Java geschrieben.

(Offenlegung: Ich bin der Projektbesitzer)

1
Dan

Antworten auf einen alten Thread, in der Hoffnung, dass es für einige nützlich sein könnte.

1) Sie können QTJambis QWebView verwenden. Es war ziemlich schnell.

2) JBrowserDriver ist eine weitere Option.

Ich persönlich fand die QT-Engine etwas schneller.