2012-07-24 12 views
24

Używam HtmlUnit (programiści wykonali świetną robotę) jako przeglądarki bez nagłówków dla niektórych moich wcześniejszych aplikacji, ale obsługa javascript nie działa dla jakiejś strony internetowej, którą moja następna aplikacja będzie mieć dostęp.Bezgłowy przeglądarka z pełną obsługą javascript dla java

  1. Słyszałem o wiążącym dla Pythona QtWebKit ale moja aplikacja będzie w Javie czy istnieje Java wiążące dla WebKit lub QtWebKit?

  2. Czy ktoś zna dobrą przeglądarkę bez nagłówka dla Javy z pełną obsługą javascript?

+0

Jestem również w podobnej sytuacji. Używam HTMLUnit, ale JS w niektórych witrynach nie działa na nim. Czy znalazłeś alternatywę, która działa? – Arya

+1

Najwyraźniej nikt nie dostarczył rozwiązania, ponieważ żadna nie jest oparta na Java –

+0

@ John.which bezgłowy przeglądarki użyłeś w swojej aplikacji Java. – BasK

Odpowiedz

4

Spójrz na phantom.js. W oparciu o webkit oferuje kompletną przeglądarkę bezgłową.

+10

Czy istnieje powiązanie Java dla QtWebKit? – John

+0

[Oddzielne pytanie] (http://stackoverflow.com/questions/19759421/any-java-equivalent-to-phantomjs) lub [Selenium GhostDriver] (https://github.com/detro/ghostdriver) –

1

wymeldowanie zombie.js. Bardzo szybko z mojego doświadczenia

+9

" ... ale moja aplikacja będzie w Javie ... " – Cacovsky

3

Rhino + env.js to kompletne rozwiązanie java, użyłem go, nie jest superszybkie, ale wydaje się dość stabilne i powinno dać ci prawidłowe wsparcie js.

5

Nathan Ridley's answer to another similar question jest najbardziej kompletny, jaki udało mi się znaleźć.

W każdym razie, jeśli wszystko zawiedzie, można użyć alternatywnego języka Python lub JS, ujawnić jego funkcjonalność jako usługi internetowej w serwerze, a następnie aplikacja Java może korzystać z funkcjonalności przeglądarki bezgłowej za pośrednictwem usługi internetowej. Byłoby ciężko założyć, ale może być realną alternatywą, jeśli nic innego nie zadziała jak należy.

Również, there are some "non-headless" browser wrappers for Java; być może byłoby możliwe zbudowanie rozwiązania testowego wokół nich, w zależności od wymagań.

0

Odpowiadając na starym wątku, nadzieję, że może to być przydatne dla niektórych.

1) Można użyć QWebView QTJambi. Było dość szybko.

2) JBrowserDriver to kolejna opcja.

Osobiście znalazłem silnik QT nieco szybciej.