以前のアプリケーションの一部でヘッドレスブラウザとしてHtmlUnit(開発者は素晴らしい仕事をした)を使用していますが、次のアプリケーションがアクセスする一部のWebサイトではJavaScriptサポートが機能していません。
PythonのQtWebKitバインディングについて聞いたが、私のアプリケーションはJavaまたはWebKitのJavaバインディングがあるか、 QtWebKit?
誰かがJavaの完全なjavascriptサポート付きの優れたヘッドレスブラウザを知っていますか?
Nathan Ridleyの別の同様の質問への回答 は、これまでに見つけた中で最も完全なものです。
とにかく、すべてが失敗した場合は、PythonまたはJSの代替手段を使用し、その機能をサーバー内のWebサービスとして公開してから、Javaアプリケーションで使用できます。ヘッドレスブラウザーのWebサービスを介した機能性。
また、 Java用の「ヘッドレスではない」ブラウザラッパーがいくつかあります ;要件に応じて、それらの周りにテストソリューションを構築することが可能かもしれません。
phantom.js を見てください。 Webkitに基づいて、完全なヘッドレスブラウザーを提供します。
Rhino + env.jsは完全なJava=ソリューションです。私はそれを使用しました。超高速ではありませんが、かなり安定しているようで、適切なjsサポートを提供するはずです。
おそらく https://github.com/machinepublishers/jbrowserdriver -ヘッドレスであり、Javaでのみ記述されています。
(開示:私はプロジェクトオーナーです)
チェックアウト zombie.js 。私の経験からすごく速い
古いスレッドで返信して、一部のユーザーに役立つことを期待しています。
1)QTJambiのQWebViewを使用できます。それはかなり高速でした。
2)JBrowserDriverは別のオプションです。
個人的には、QTエンジンが少し速いことがわかりました。
組み込みのWebViewはどうでしょうか。 JSの完全なサポートについてはわかりませんが、JavaScriptをサポートできることがウェブサイトで簡単に確認できます。
JavaFX WebView: JFX WebView
private static void initWebView(Stage primaryStage) {
primaryStage.setTitle("JavaFX WebView Example");
WebView webView = new WebView();
//webView.getEngine().load("http://localhost:9009");
webView.getEngine().loadContent("<h3 id='aa'>Java FX WebView, HelloWorld</h3><script>document.getElementById('aa').innerHTML='TEST'</script>");
webView.getEngine().setJavaScriptEnabled(true);
VBox vBox = new VBox(webView);
Scene scene = new Scene(vBox, 960, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
そして、質問とは関係ありませんが、これも見てください: Java-Express または NanoHttpd
組み合わせは誰かを助けるかもしれません。