web-dev-qa-db-fra.com

Navigateur sans tête avec prise en charge complète de javascript pour Java

J'utilise HtmlUnit (les développeurs ont fait de l'excellent travail) en tant que navigateur sans tête pour certaines de mes applications précédentes, mais le support javascript ne fonctionne pas pour certains sites Web auxquels ma prochaine application aura accès.

  1. J'ai entendu parler de la liaison QtWebKit pour Python mais mon application sera en Java ou existe-t-il une liaison Java pour WebKit ou QtWebKit?

  2. Est-ce que quelqu'un connaît un bon navigateur sans tête pour Java avec une prise en charge complète de javascript?

25
John

La réponse de Nathan Ridley à une autre question similaire est la plus complète que j'ai trouvée jusqu'à présent.

Quoi qu'il en soit, si tout échoue, vous pouvez utiliser une alternative Python ou JS, exposer ses fonctionnalités en tant que service Web sur votre serveur, puis votre application Java peut utiliser les fonctionnalités du navigateur sans navigateur via le service Web. Ce serait difficile à mettre en place, mais ce pourrait être une alternative viable si rien d’autre ne fonctionne comme souhaité.

En outre, il existe des wrappers de navigateur "sans tête" pour Java ; Peut-être serait-il possible de construire une solution de test autour de cela, en fonction des besoins.

5
Haroldo_OK

Jetez un coup d'oeil à phantom.js . Basé sur webkit, il offre un navigateur complet sans tête.

4
Sirko

Rhino + env.js est une solution entièrement en Java. Je l’ai utilisée, elle n’est pas très rapide, elle semble relativement stable et devrait vous permettre de prendre en charge js correctement.

3
Simone Gianni

découvrez zombie.js . C'est très rapide de mon expérience

1
Frank Visaggio

Peut-être https://github.com/machinepublishers/jbrowserdriver - il est sans tête et écrit uniquement en Java.

(divulgation: je suis le propriétaire du projet)

1
Dan

Répondre sur un ancien fil de discussion en espérant qu'il puisse être utile à certains.

1) Vous pouvez utiliser QWebView de QTJambi. C'était assez rapide.

2) JBrowserDriver est une autre option.

Personnellement, j'ai trouvé le moteur QT un peu plus rapide.

0